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

一个关于进制转换问题.
要用移位的方式将十进制的数转换为8进制。
每3位一取就是一个8进制。如果是一个int类型那就是4字节就有32位.
现在就少一位.我要把那位加上变成33位才可以。那位该怎么加啊?
如果行的话请帮我写段代码。只写怎么加这位就行。转换不用/

------解决方案--------------------
mark

------解决方案--------------------
//此例当负数是比较大的数(或者说C语言中的无符号数了)
int num = 28;
char result[] = new char[11];
for(int i=0;i <11;i++){
byte bit = (byte) (num & 7);
result[10-i] = (char) (bit + '0 ');
num > > = 3;
}
System.out.println(new String(result));//此处输出连左边的零也输出了:)