负数的二进制表示与转换

2017-03-27  本文已影响0人  Jokerone_

-5 如何用二进制表示

取反加1
5 ---- 0000 0101
取反
1111 1010
加1
1111 1011
所以这个就表示 -5

1111 1011 对应十进制中的多少 【减一取反】
首位是 1 ,故是负数
减一 1111 1010
取反 0000 0101 ----> 5
所以答案是 -5

System.out.println(Integer. MAX_VALUE *2 );
这个答案是多少
首先 * 2 表示 左移一位
Integer.Max_value 用二进制表示为
0111 1111 1111 1111 1111 1111 1111 1111
左移一位
1111 1111 1111 1111 1111 1111 1111 1110
首字母为1,故是负数, 再减一取反
减一
1111 1111 1111 1111 1111 1111 1111 1101
取反
0000 0000 0000 0000 0000 0000 0000 0010 -----> 2
所以答案是 -2

上一篇下一篇

猜你喜欢

热点阅读