### 进制
**二进制**
在计算机中一个字节可以分成八段,每段可以记录一个0或者一个1。
想要把一个数字记录到一个字节中就必须首先把一个数字拆分成八个0或者1。
采用一组0或者1表示数字的方法叫做二级制。
00000000
11111111
11100001
二进制表示方式中每个数位有一个编号,最右边数位的编号是0,向左一次递增,编号也可称之为索引/下标。
某个数位上的1单独代表一个数字,这个数字就是数位编号的次方。
二进制表示方式中如果两个相邻数位内容一样,则左边数位所代表的数字是右边数位所代表数字的2倍。
二进制转十进制的例子:
二进制: 11101110
2的7次方 + 2的6次方 + 2的5次方 + 2的三次方 + 2的二次方 + 2的1次方
十进制: 238
当把占地大的整数相关类型数字赋值给占地小的整数类型相关存储区的时候,只能保留最后的二进制数位,这可能导致数据内容发生变化。
**十进制**
在计算机的某些时候可以发现有点数字是使用 0 - 9 表示的,那么这样的表达方式就是十进制。
任何数字既可以采用十进制方式表示,也可以采用二进制方式表示。
给编程人员看的一般采用的是十进制,而计算机里只能记录用二进制方式表示的数字。
**八进制**
把二进制所有数位从右向左每三个数位分成一组,每组用一个0-7之间的数字替换,替换的结果叫做数字的八进制表示方式。
01101010 | 01 101 010 | 152(八进制)
可以在程序中采用八进制方式表示数字,必须以数字0为开头。
可以采用%o做占位符把数字的八进制表示方式显示在屏幕上。
**十六进制**
把二进制所有数位从右向左每四个数位分成一组,每组用一个字符替换,这个替换结果叫数字的十六进制表示方式,使用a到f这六个英文字母替换10~15的数字。
11001011(二进制) | 1100 1011 | cb(十六进制)
可以在程序中直接使用十六进制方式表示数字,这个时候必须用0x做开头。
可以采用%x或%X做占位符把数字的十六进制表示方式显示在屏幕上。
%x在屏幕显示的是小写的字母,%X在屏幕中显示的结果都是大写的。
显示结果中是不包含0x开头的。