进制

计算机中总共有以下四种进制,分别是:

1.二进制,01

2.八进制,01234567

3.十进制,0123456789

4.十六进制,0123456789ABCDEF

计算机内存地址和为什么用16进制?

为什么用16进制
1、计算机硬件是0101二进制的,16进制刚好是2的倍数(2^4),更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示)
2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算


16进制用在哪里
1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。
2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式

3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,4个16进制位可以表达好几百万的颜色信息。

 

十六进制和二进制转换:

二进制和十六进制的转换:
十六位数的表示方法:
十进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
二进制: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十六进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F

二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位:
二进制:110110011011.1001
转换: D 9 D. 9
二进制:101110011011.1001
转换: B 9 B. 9

十六进制的表示发,用字母H作为后缀表示,用0X作为前缀表示;
比如:BH表示16进制为11;0X23表示16进制的23

另外,需要注意的是,向左(或向右)取四位时,取到最高位(最低位)时,如果无法凑足四位,就可以在小数点的最左边(或最右边)补0,进行换算。
比如:
10111.011
补位:0001 0111.0110
十六进制:1 7 6

十六进制转换为二进制则是与上面的二进制转十六进制相反。方法是一分为四,即一个十六进制数分成四个二进制数,用四位二进制按权相加,最后得到二进制,小数点依旧。
如:
十六进制: B F 4. B 5
二进制 : 1011 1111 0100. 1011 0101
下面是截图,以防排版导致的错位。

 

原文地址:https://www.cnblogs.com/zoe233/p/6999441.html