对于整数,有四种表示方式:
二进制:0,1,满2进1.以0b或0B开头。
十进制:0-9,满10进1.
八进制:0-7,满8进1.以数字0开头表示。
十六进制:0-9及A-F,满16进1.以0x或0X开头表示。此处的A-F不区分大小写。
如:0x21AF +1= 0X21B0
二进制在计算机底层的存储:
正数负数在底层都是以补码形式存储的,正数的原码,反码,补码,都一样(三码合一)。
负数的反码:除了符号位原码的各位取反。补码:反码+1;
所以求一个负数在底层的存储过程:先得到负数的原码,然后除符号位,然后各位取反,得到反码,然后+1,得到补码。
原码----------->(原码除符号位各位取反)反码 ------------->(反码+1)补码。
如果知道一个负数在底层的存储,即知道该数的补码,想知道该数的原码,先-1,得到反码,然后除符号位各位取反。
下面以正数127和负数-13为例:
知道一个十进制,如何获得对应的二进制:
如上面,求13的二进制,左边一直除以2,右边是余数。最后从下到上,1101.
二进制转八进制或者转十六进制:
转八进制,三个一位,转十六进制,四个一位。
八进制或者十六进制转二进制时,是相逆的过程。