二进制和十进制的转化
----------颍骈城茇---------------------------------------------------------------------------------幻腾寂埒-----------------------------
十进制(整数:除以2取余)→二进制
依次除于2,能整除的记录0,不能整除的记录1
----------------------------------
十进制(小数:乘以2取整)→二进制
例如把0.2转换为二进制:
----------------------------------
十进制(负数:二进制 反二进制)→二进制
---------------
-5
5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
00000000 00000000 00000000 00000101(原码)
→
11111111 11111111 11111111 11111010(反码,原码的1变为0,0变为1)
→
11111111 11111111 11111111 11111010 + 1(将反码加上1,所得数称为补码)
=
11111111 11111111 11111111 11111011(二进制)
所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。
计算器:
选择双字
选择十进制,-5
选择二进制,11111111 11111111 11111111 11111011
---------------
-1
00000000 00000000 00000000 00000001(原码)
→
11111111 11111111 11111111 11111110(反码,原码的1变为0,0变为1)
→
11111111 11111111 11111111 11111110+1
=
11111111 11111111 11111111 11111111(将反码加上1,所得数称为补码)
可见,-1在计算机里用二进制表达就是全1。16进制为:0xFFFFFF。
计算器:
选择双字
选择十进制,-1
选择二进制,11111111 11111111 11111111 11111111
--------------------------------------------------------------------------------------
二进制(位数乘以2的012……次方数)→十进制
二进制:110