请教个基础问题

king2003 2007-12-07 10:52:42
啥破论坛呀?我想传图片还得找HTTP的

List<byte> result = new List<byte>();

//First four are for the Command
result.AddRange(BitConverter.GetBytes(512));
[0] 0 byte
[1] 2 byte
[2] 0 byte
[3] 0 byte
为什么结果这这个样子的???
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
king2003 2007-12-07
  • 打赏
  • 举报
回复
王集鹄 2007-12-07
  • 打赏
  • 举报
回复
举一反三,那么5678十六进制为0x0000162E
则结果是:0x2E(46),0x16(22),0x00,0x00
王集鹄 2007-12-07
  • 打赏
  • 举报
回复
512编译器默认识别为int类型
一个int类型大小为4个字节,十六进制为:0x00000200
内存中表示为:[code=BatchFile]00 02 00 00[/code]
所以结果是:0,2,0,0
王集鹄 2007-12-07
  • 打赏
  • 举报
回复
假设将一个int(4byte)转换为short(2byte)
[code=BatchFile]int(1) 01 00 00 00
|截掉2byte
short(1) 01 00[/code]

如果按照数学方式方在内存中,处理起来就没这样容易,需要移位。
[code=BatchFile]00 00 00 01
<--前移动2byte
00 01[/code]
移动的时间>截取的时间
所以内存中是从低位开始存储。
king2003 2007-12-07
  • 打赏
  • 举报
回复
==我还有一不明白的地?
举一反三,那么5678十六进制为0x0000162E
则结果是:0x2E(46),0x16(22),0x00,0x00
为什么46在索引的第一个位置

110,533

社区成员

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

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

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