标题: 小端,发送数据时是怎样发的呢? [打印本页]

作者: hei51com    时间: 2022-3-15 12:18
标题: 小端,发送数据时是怎样发的呢?
本帖最后由 hei51com 于 2022-3-15 12:23 编辑

比如lenght长度范围定义是Byte0~3 ,len=0x2000(8192),那是如下这样吗?0x00     00       20        00
byte3   byte2    byte1    byte0


作者: 188610329    时间: 2022-3-15 14:24
发送?往哪里发? 牵涉到大小端,通讯的话,不光要考虑高低字节,还要考虑msb还是lsb了。
作者: Hephaestus    时间: 2022-3-15 20:34
8192按地址从低到高的存储顺序是: 0x00     00       20        00

说什么MSB、LSB的都是不懂装懂的,半瓶子醋乱晃当得,字节内部哪来什么MSB?
作者: 天ノ忆    时间: 2022-3-16 16:32
板凳说的对,
举个栗子,flag = 0x01020304;
小端内部储存是这样: 04H 03H 02H 01H
大端是这样:01H 02H 03H 04H
不同的机器产生的数据存放方式可能是不一样的,小端模式的机器往大端模式的机器上发送数据时,如果不采取措施,就会变成反序,flag = 0x01020304(小) ==> flag = 0x04030201(大)
作者: hei51com    时间: 2022-3-18 13:34
Hephaestus 发表于 2022-3-15 20:34
8192按地址从低到高的存储顺序是: 0x00     00       20        00

说什么MSB、LSB的都是不懂装懂的, ...

好的,谢谢解答
作者: hei51com    时间: 2022-3-18 13:35
天ノ忆 发表于 2022-3-16 16:32
板凳说的对,
举个栗子,flag = 0x01020304;
小端内部储存是这样: 04H 03H 02H 01H

说的很明白,谢谢解答
作者: npn    时间: 2022-3-18 17:38
不要移位,用union就可以




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1