C#里如何把int转换成4长度的byte[]?
写了个方法,但是不对,请达人指点一二!publicstaticbyte[]int2bytes(intnum){byte[]b=newbyte[4];for(inti=0;...
写了个方法,但是不对,请达人指点一二!public static byte[] int2bytes(int num)
{ byte[] b = new byte[4];
for (int i = 0; i < 4; i++)
{
b[i] = (byte)(num >> (24 - 8 * i));
}
return b;
} 展开
{ byte[] b = new byte[4];
for (int i = 0; i < 4; i++)
{
b[i] = (byte)(num >> (24 - 8 * i));
}
return b;
} 展开
5个回答
展开全部
使用类似以下程序:
public static byte[] intToByte4(int Num) {
byte[] abyte=new byte[8]; //int为32位除4位,数组为8
int j=0xf;
int z = 4; //转换的位数
for (int i = 0; i < 8; i++)
{
int y = j << z * i;
int x = Num & y;
x = x >> (z * i);
abyte[i] = (byte)(x);
}
return abyte; }
调用intToByte4,传入num变量,传出abyte数组
展开全部
首先int 是8位的,如果你的int值比较小,特指在short类型范围内,才可以进行转换;
int l_intObject = 100;
byte[] l_byteArray =System.BitConverter.GetBytes(short.Parse(l_intObject.ToString()));
其中:
C# 中 short类型范围 -32,768 到 32,767
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-01
展开全部
使用System.BitConverter的GetBytes函数 byte[] b = new byte[4];b = BitConverter.GetBytes(num);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static byte[] intToByte4(int Num) {
byte[] abyte=new byte[8]; //int为32位除4位,数组为8
int j=0xf;
int z = 4; //转换的位数
for (int i = 0; i < 8; i++)
{
int y = j << z * i;
int x = Num & y;
x = x >> (z * i);
abyte[i] = (byte)(x);
}
return abyte; }
byte[] abyte=new byte[8]; //int为32位除4位,数组为8
int j=0xf;
int z = 4; //转换的位数
for (int i = 0; i < 8; i++)
{
int y = j << z * i;
int x = Num & y;
x = x >> (z * i);
abyte[i] = (byte)(x);
}
return abyte; }
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用下面的方法
byte[] abyte = BitConverter.GetBytes(10);
byte[] abyte = BitConverter.GetBytes(10);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |