请问二进制中低字节高字节的问题

xiaohoch 2004-04-27 12:01:38
请问我看到
算长度=低字节+高字节*256
请问为什么乘256,谁能给讲讲原理啊?谢谢
...全文
323 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcaomao 2004-04-27
  • 打赏
  • 举报
回复
因为一个字节是 8 位,8位二进制就是256,所以当然要乘一下。
turnmissile 2004-04-27
  • 打赏
  • 举报
回复
在部分机器上面,一个整形的字节顺序是
低字节 高字节 小endian 部分机器序,如windows
高字节 低字节 big endian 部分机器序,如sun 以及所有网络序

这其实就是我们常说的大endian和小endian的问题,你其实不需要自己写的。
大多数通讯控件会提供从本机代码到网络序的转换的。你如果自己写的话,还需要判断本机是什么字节排列顺序。
你也可以用Encoding.BigEndianUnicode来直接得到。

xiaohoch 2004-04-27
  • 打赏
  • 举报
回复
0000111111110000 比较菜的问题:我们算它的长度是16bit吗
jimh 2004-04-27
  • 打赏
  • 举报
回复
乘以256相当与左移8位,比如00001111是高位,11110000是低位,合在一起是
0000111111110000,计算方法就是高位左移8位,然后再加上低位
00001111<<8相当于00001111*256

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧