查看: 1260| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[转CS-自学] big-endian VS little-endian 实质区别

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
如题,为何我们要区别这两个东西呢? .--

在网络编程中比如UDP 和 TCP中有什么影响呢?

上一篇:国内本科CS新人刚注册,预备春季上课,目前选择专业中,请大家帮忙分析一下
下一篇:USC csci 402 operation system 2020 summer 分享
推荐
ourgit 2020-8-7 10:30:56 | 只看该作者
全局:
本帖最后由 ourgit 于 2020-8-7 10:52 编辑

不同的CPU支持不同的endian, 比如intel cpu支持little-endian

简单来说就是内存低位放的是数据的高位还是低位。. 1point 3 acres

内存低位放置数据低位,就是little endian
内存低位放置数据高位,就是big endian

网络读取的就是通过socket传输的字节流,当你读取字节流时候要注意第一个字节是在内存的高位还是低位,. From 1point 3acres bbs
所以写程序的时候要注意读取顺序。

一般来说系统的API都帮你做好了,只要不是用汇编语言完全可以不用太担心endian的问题。 ..

评分

参与人数 1大米 +1 收起 理由
asdadd + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
给嵌入式系统编程的时候,假如你需要传一个指令“10011”,如果没有注意板子是big endian 还是little endian命令可能不灰执行。
回复

使用道具 举报

🔗
fxlj007 2020-8-12 08:23:07 | 只看该作者
全局:
假设一个整数是4个字节。你从TCP读取了32比特的数据: 00000001 00000000 00000000 00000000
问题来了:这个是整数1 还是整数 16777216 ?

通常这个区别会在serialization/deserialization的时候处理。大部分编程语言都有现成的库,所以写业务逻辑时一般不需要操心。但如果你是,比如说,protobuf的开发者,就需要处理这个问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表