黑马程序员技术交流社区
标题:
进制的转换
[打印本页]
作者:
李力
时间:
2013-4-5 23:18
标题:
进制的转换
class Demo00
{
public static void main(String[] args)
{
toBin(6);
}
public static void toBin(int num)
{
StringBuffer sb = new StringBuffer();
while(num>0)
{
sb.append(num%2);
num = num/2;
}
System.out.print(sb.reverse());
}
}
//十进制转换为二进制,这是毕老师写的实现方法!这个只适合num>0;
//如果num<o是不是先求正的数的二进制后再取反加一呢?
作者:
田光峰
时间:
2013-4-5 23:31
class Demo00
{
public static void main(String[] args)
{
toBin(6);
}
public static void toBin(int num)
{
StringBuffer sb = new StringBuffer();
while(num>0)
{
sb.append(num%2);
num = num/2;
}
System.out.print(sb.reverse());
}
}
中的 sb.append(num%2);
num = num/2;
把十进制的数不断除二取余把结果放到StringBuilder中去
然后取反取出。
如果一个数用二进制表示的话,那么他的负数是 每位取反并且加一。
作者:
郭彦君
时间:
2013-4-5 23:36
是的,如果是负数,先将负数的绝对值转成2进制,然后取该2进制的反码,最后在将反码加1.
比如求-5的二进制,先求5的二进制,是0000 0101;
再取反码,为1111 1010;
然后再加1,变成1111 1011,就是-5的二进制
作者:
杨武林
时间:
2013-4-5 23:51
1.先将负数的绝对值转换成二进制,
2.然后求该二进制数的反码,
3.最后为第二步得到的二进制数+1
作者:
郭沐昌
时间:
2013-4-5 23:56
~这是取反码的标识
在加上1
作者:
李力
时间:
2013-4-7 09:41
好的谢谢各位大神!
作者:
李力
时间:
2013-4-7 09:42
前段时间网线不给力!时有时无!抱歉啊!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2