有人碰到这样奇怪的问题么?

Carpathia 2016-03-25 01:47:35
BitConverter.ToInt32(new byte[4] { 0, 0, 0, 1 }, 0);
计算结果不是1,而是16777216,很奇怪怎么算的?
用VS2012 UP5编译的
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-03-25
  • 打赏
  • 举报
回复
默认都是低位在前 BitConverter.ToInt32(new byte[4] { 1, 0, 0, 0 }, 0);
Carpathia 2016-03-25
  • 打赏
  • 举报
回复
OK,明白了,原来是网络字节序,低位在前,感谢两位大神
  • 打赏
  • 举报
回复
是对的,你可以试下byte[] bytes = BitConverter.GetBytes(1);看看值是多少,并了解下大小端模式
Carpathia 2016-03-25
  • 打赏
  • 举报
回复
完整的就是一句: Console.WriteLine(BitConverter.ToInt32(new byte[4] { 0, 0, 0, 1 }, 0)); 看看是不是我的VS有问题了?

110,536

社区成员

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

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

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