当前位置: 代码迷 >> J2SE >> 怎样把一个字符的各bit位的1、0分别存进数组中?该怎么处理
  详细解决方案

怎样把一个字符的各bit位的1、0分别存进数组中?该怎么处理

热度:119   发布时间:2016-04-24 16:03:40.0
怎样把一个字符的各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]);
}
  相关解决方案