一个字节分为八位,每位可以记录一个0或1
用一组0或1表示数字的方法叫做二进制表示方法
****************************************************
1:十进制的非负数转换成二进制的方法
利用短除法就行运算,算出的结果从下到上,从左到右写出即可得出结果
比如:12的二进制
12 0
6 0
3 1
1 1
结果:0000 1100
****************************************************
2:负数的二进制和十进制不能直接转换,需要借助相反数
需要分三步:
1:计算相反数
2:根据相反数就行转换
3:根据转换结果再计算相反数
把二进制数字中每个数位的内容变成相反数字然后加一就可得到相反数的二进制
比如:-14转换成二进制
1.转换成正数: 14
2.转换成二进制: 0000 1110
3.就行取反运算: 1111 0001
4.就行+1运算: 1111 0010
****************************************************
如何判断一个二进制是否为负数:
有符号类型 最左边的二进制位叫符号位,0表示非负数,1表示负数
比如:1100 0101 是正数还是负数?
看实际情况,如果表示字符,即负数;如果表示int类型,则为正数。(前24位为0)
将1100 0101转换成负数:
方法一:
1.取反操作 0011 1010
2.+1操作 0011 1011
3.转换正整数 59
4.取反 -59
方法二:
1.-1操作 1100 0100
2.取反操作 0011 1011
3.转换正整数 59
4.取反 -59
把二进制表示方法中所有数位从右向左每三个数位分成一组,每组用一个0-7之间的数字替换
替换后的写法叫做八进制表示方式
可以在程序中直接使用8进制表示,但是必须以0开头!占位付:%o;显示结果不包含开头的0
比如:0110 1010 01 101 010 0152(八进制)
把二进制表示中的数位从右向左每4个数位一组,每组用一个字符替换,替换后的写法叫做十六进制表示方式
可以在程序中直接使用十六进制表示,但是必须以0x开头!占位付:%x / %0X;显示结果不包含0x开头
比如:1100 1011 0xcb(十六进制)