首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎样把一个int32的数字转换成byte[]解决方案

2012-02-25 
怎样把一个int32的数字转换成byte[]怎样把一个int32的数字转换成byte[]?我用System.BitConverter.GetBytes

怎样把一个int32的数字转换成byte[]
怎样把一个int32的数字转换成byte[]?
我用System.BitConverter.GetBytes();
但结果是3变成30 00 00 00,而我想要的是00 00 00 03。

求教?

[解决办法]
结果就是00 00 00 03
你读反了
[解决办法]
在内存中,数字的存储就是从低位开始的
这样转换起来很方便

BatchFile code
int   03 00 00 00short[03 00]00 00byte [03]00 00 00
[解决办法]
Convert里有,要不然自己>> 移位转 03000000 0000003 只是取决于移位的顺序 你看他的翻辩一代码就知道
在我写了N多类型转换后才发现他妈的Convert里有封装
[解决办法]
对啊,不止Convert把转换成byte[]封装了,IPAddress把转换字节序也封装了
IPAddress.NetworkToHostOrder Method 
IPAddress.HostToNetworkOrder Method
[解决办法]
ft 
TEMP_BYTE_ARRAY[0] = (byte)(((Num & 0xff000000) >> 24) & 0xff);

TEMP_BYTE_ARRAY[1] = (byte)(((Num & 0x00ff0000) >> 16) & 0xff);

TEMP_BYTE_ARRAY[2] = (byte)(((Num & 0x0000ff00) >> 8) & 0xff);

TEMP_BYTE_ARRAY[3] = (byte)((Num & 0x000000ff) & 0xff);

没事多看看系统代码
[解决办法]
Convert.ToByte()
[解决办法]
int i = 3;

Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes(i)));
Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes(IPAddress.HostToNetworkOrder(i))));

热点排行