VB中如何将字节从MSB转换为LSB
整个过程从该值的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,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
同类文章排行
- LOL转会最新消息2021汇总 英雄联盟2021冬季转会名单
- 人民日报:爱国者达叔 永远都是主角
- 中国第十九届中央委员会候补委员名单
- 中甲巡礼之爱国者:继续探索体教结合 金曹师徒联手
- 《LOL》LCK夏季赛6月9日开赛 各战队首发名单公开
- 英超最新积分榜:曼城平利物浦赛程占优热刺第四阿森纳第五
- 国务委员马凯简历
- 湖南省科学技术厅党组成员、副厅长周纯良接受纪律审查和监察
- 《爱国者》播出过半 家国大义激荡人心
- 流言板]爱国者主帅比利切克:没人比拉塞尔-威尔逊更出色 - 虎
最新资讯文章
- 常规赛最终排名!太阳热火第一篮网点燃附加赛湖人耻辱出局
- 绿军战胜灰熊!东部前四确定:热火、凯尔特人、雄鹿、76人
- 林新任科技部党组成员(图简历)
- “一个爱国者走了祝她在天英灵永存”
- NBA最新排名!太阳热火霸榜6队锁定季后赛湖人输掉生死战
- 2021LOL冬季转会期内容一览 ShowMaker成为自由人
- 火箭热火赛程
- NBA常规赛:热火领跑实力榜西部诸强大纷争
- 中国发布丨又有新职务 他领导的这个小组成员来自20多个部门
- 山西省人民代表大会常务委员会任免名单
- 英超最新积分榜:曼城平利物浦赛程占优热刺第四阿森纳第五
- 篮网消息:欧文谈附加赛杜少不满传球手声誉奥胖赌热火胜篮网
- 等级成长规则
- 赛事前瞻:公牛难挡热火
- 万科新提名11位董事5人拥有深圳国资背景第二大股东宝能系无一
- 豪强林立 Roobet Cup 2022受邀战队名单公布
- 赛事前瞻:1点直播公牛VS热火
- PUMA签下七位牙买加田径新星ForeverFaster大家庭再添新成员
- T1官方:泰迪回归首发阵容 携手Faker、Keria与LSB相遇
- 2011-12赛季迈阿密热火完全赛程