思路
使用循环使整数左移i位,并取最高位,如果当前最高位为1则值为'1',否则为'0'。这样拼接出一个字符串。
注意:计算机中存储的是数字的补码。
关于正、负数的原码、反码、补码。
正数:原码、反码、补码都一样。
负数:反码(除了最高位,其它位取反)补码(反码+1)
为什么要存储补码,而不是原码?
为了统一运算方法。使用补码对有符号整数进行加、减不需要关心符号位。
例如:1 + (-2) = -1
-2的原码
1000 0000 0000 0000 0000 0000 0000 0010
-2的反码
1111 1111 1111 1111 1111 1111 1111 1101
-2的补码
1111 1111 1111 1111 1111 1111 1111 1110
计算过程:
0000 0000 0000 0000 0000 0000 0000 0001
+ 1111 1111 1111 1111 1111 1111 1111 1110
= 1111 1111 1111 1111 1111 1111 1111 1111
-1的补码:1111 1111 1111 1111 1111 1111 1111 1111