【发布时间】:2012-06-02 04:31:47
【问题描述】:
给定一个数字,我需要创建一个位数组。 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;
}
仅当值为正时才有效。如果值为负数,如何创建位数组?
【问题讨论】:
-
你了解二进制补码表示吗?你为什么要重新发明轮子而不是使用
ByteBuffer?你想解决什么更大的问题? -
@MattBall 我确实理解 2 的补码表示。只有当值为负时,我才想获得 2 的补码形式的位数组。问题是在不使用任何内置库的情况下创建位数组
-
@user:为什么不能使用内置库?这是作业吗?您应该添加“作业”标签并在您的问题中进行说明。
标签: java negative-number