0
給定一個數字,我需要創建一個位數組。數字的value
和width
是已知的。對於正數,我不喜歡這樣的:在java中爲負數創建位數組
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'](http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)?你想解決什麼大問題? –
@MattBall我明白2的補碼錶示。只有當值爲負時,我纔想得到2的補碼形式的位數組。問題是在不使用任何內置庫的情況下創建位陣列 –
@user:爲什麼不能使用內置庫?這是功課嗎?你應該添加'家庭作業'標籤並在你的問題中解釋。 –