用2个字节来存储一段数据的长度如何理解

tianyaxiao 2012-01-13 07:59:39
文档上写的,用2个字节来存储一段数据的长度值.
难道是这样?

byte[] length = new byte[2];
length[0]=255;
length[1]=255;


这到底怎么理解呢?
...全文
926 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianyaxiao 的回复:]

是用2个字节,也就是16位。最大值就是16个1.就是1111111111111111,就是65535
[/Quote]
以16进制存储,分高位低位,低位在前,高位在后
tianyaxiao 2012-01-14
  • 打赏
  • 举报
回复
我用BitConverter.GetBytes搞定了 呵呵
devmiao 2012-01-13
  • 打赏
  • 举报
回复
可以使用short类型,2个字节就是16位哦,喵~
mrsupersky 2012-01-13
  • 打赏
  • 举报
回复
用一个 ushort 即可
short 和 ushort 都是两字节
因为你说的是 数据长度 所以 我猜想应该没有负数吧
所以ushort最合适。。。
取值 0 到65535
  • 打赏
  • 举报
回复
可以看看msdn:http://msdn.microsoft.com/zh-cn/library/system.bitconverter.aspx

.net框架类库也可以直接把两个字节跟整数之间进行正向或者逆向的转换。
  • 打赏
  • 举报
回复
呵呵。

有很多方法。例如你可以用类似 (int)length[0]<<4 | (int)length[1] 或者干脆就是 (int)length[0]*256+ (int)length[1]
tianyaxiao 2012-01-13
  • 打赏
  • 举报
回复
是用2个字节,也就是16位。最大值就是16个1.就是1111111111111111,就是65535
tianyaxiao 2012-01-13
  • 打赏
  • 举报
回复
但是我如何将65535拆分成两个字节呢?
tianyaxiao 2012-01-13
  • 打赏
  • 举报
回复
我突然明白了,最大是65535

111,088

社区成员

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

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

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