二进制基本规则
一个字节分为八段,每段可以记录一个0或1
要想把一个数字记录到字节里就必须首先拆分成八个0或1
采用一组0或1表示数字的方法叫做二进制表示方法
二进制和十进制是两种不同表示数字的方式,他们各自运用在不同环境下
计算机只能记录以二进制方式表示的数字
二进制表示方式里每个数位都有一个编号
编号方式如下
二进制数字加一 的时候把编号为0的位置开始的多个连续的1都变成0,把最右边的0变成1(这些1必须从编号为0的位置开始,0无所谓)
00101111+1
00110000
用二进制表示的非负数去掉最右边的数位结果相当于这个数字除于2并保留整数部分
二进制表示的非负数转换成十进制的时候可以把每个数位的内容单独转换后再求和
对原始数字多次进行除以2并保留整数部分的操作得到一组数字(奇数是1,偶数是0)
用每个数字除以2取余得到一个数位的内容
把得到的所有数位内容从后向前排序书写就得到转换结果
负数的二进制和十进制之间不可以直接转换,必须借助相反数
转换过程分三步
1.首先计算相反数
2.把得到的相反数转换成另外的格式
3.根据转换结果再一次计算相反数
为了计算一个二进制数字的相反数,可以把每个数位的内容都变成相反数再加一
有符号类型数字才有符号
二进制数字最左边的数位叫做符号位,它的内容可以用来确定数字的符号
符号位的内容是0表示数字是非负数
符号位的内容是1表示数字是负数
把二进制数字从右到左每三个数位分成一组,每组用一个0到7之间的数字替换就得到数字的八进制表示方式
可以直接在程序里用八进制表示方式写数字,这种数字必须以数字0做开头
使用%o做占位符可以把数字的八进制表示方式显示在屏幕上
用八进制显示时,应该在占位符前加上个0
十六进制
把二进制数字所有数位从右向左每四个数位分为一组,每组用一个字符替换(这个替换结果叫做数字的十六进制表示方式)
可以直接在程序里用十六进制方式书写数字,这种数字必须用0x做开头(用a到f的数字替换10到15之间的数字)
可以使用%x或者%X做占位符把数字的十六进制表示方式显示在屏幕上
用%x做占位符的时候显示结果里所有字母都是小写的
用%X做占位符的时候显示结果里所有字母都是大写的。
C语言中使用%表示取余