给定一个数字,我需要创建一个位数组。value
并且width
数量是已知的。对于正数,我这样做了:
int[] createbitarr(int value, int width)
{
int _val = value;
int bitarr[]=new int[width];
for (int i=0;value>0;i++)
{
bitarr[bitarr.length-i-1]=value%2;
value=value/2;
}
value=_val;
return bitarr;
}
这仅在值为正时才有效。如果值为负,我如何创建位数组?