来虎体育直播安装_在线最新版_娱乐安装


让中国的不锈钢管名扬世界

实标厚度-把诚信刻在脸上

全国免费加盟热线:

当前位置:来虎体育直播安装 > 新闻动态 > 行业动态 >

VB中如何将字节从MSB转换为LSB

文章出处:未知 人气:发表时间:2022-03-07

  整个过程从该值的MSB和LSB开始交换,直到交换至该值的中间点,唯一的难点在于,由于不能简单的把对象(结构型数据)转换为字节数组去用单一的通用函数转换字节,所以需要知道哪些字节序需要转换,例如 把内存中的struc或class写入文件时,要正确的转换字节序,便需要知道其中每个数据成员的位置及大小,并基于每个成员的大小逐一进行适当的转换

  整个过程从该值的MSB和LSB开始交换,直到交换至该值的中间点,唯一的难点在于,由于不能简单的把对象(结构型数据)转换为字节数组去用单一的通用函数转换字节,所以需要知道哪些字节序需要转换,例如 把内存中的struc或class写入文件时,要正确的转换字节序,便需要知道其中每个数据成员的位置及大小,并基于每个成员的大小逐一进行适当的转换

  浮点数的内部结构相对比较复杂,但仍然可以把浮点数当作整数转换字节序,因为字节始终是字节,可以使用c++的reinterpret_cast操作把浮点数诠释为整数,这称为类型双关(type_punning),或者使用一个简便的方法是 使用union

  汇编中,比如8位2进制数10000001,其中第一个1是MSB,第二个1是LSB。在计算机计算的时候用于判断的比如如果是整数那么小数点(实际上是没有小数点的,但就把那一位和下一位之间看作有)在LSB后面,如果是小数小数点在MSB后面,其中MSB在有符号数中又是符号位。

  LSB(Least Significant Bit)是“最低有效位”。MSB(Most Significant Bit)是“最高有效位”。

  在网络通信方面,大家说的更多的是:“Big-Endian”和“Small-Endian”的问题。

  指的都是对于多字节的数据类型(比如4字节的32位整数),其多个字节的顺序问题,是最高字节在前(Big-Endian)还是最低字节在前(Small-Endian)。

  比如对于123456789这个整数,其16进制为0x075BCD15,那么按照Big-Endian的方式,它在网络上传输(或者在内存里存储)的4个字节依次是:07 4B CD 15,而Small-Endian的顺序正相反,是:15 CD 4B 07。

  MSB和LSB虽然跟这个事情看起来有点相似,但不是一回事。通常,一个芯片的管脚中,对于一个多比特的信号,比如32根的地址线。那么如果标记为:ADDR[31:0]就是MSB first的方式,如果标记为ADDR[0:31]就是LSB first的方式。

  使用APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

同类文章排行

最新资讯文章

返回顶部