日期:2014-05-20  浏览次数:20630 次

怎样把一个字符的各bit位的1、0分别存进数组中?
例如JAVA的字符 'a ',由16bit表示,定义int[]   temp,要把字符’a '的每个bit的1、0表示到temp数组中。

------解决方案--------------------
char c= 'a ';
int tmp = (int)c;
byte[] b = new byte[16];
for (int i = 0; i < 16; i ++){
b[i] = (byte)(tmp&0x1);
tmp = tmp > > 1;
}
System.out.println(Arrays.toString(b));
------解决方案--------------------
int i = Character.getNumericValue( 'a ');
String s = Integer.toBinaryString(i);
System.out.println(s);
int[] temp = new int[s.length()];
for (int j = 0; j < s.length(); j++) {
temp[j] = Integer.parseInt(s.substring(j, j + 1));
System.out.println(temp[j]);
}