进制转换
a.常用进制
注:当没有下标或后缀时默认为十进制数
- 按权展开求和:n进制———> 十进制 每一位八进制数与三位二进制数对应
例:192=1*10^2+9*10^1+2*10^0
- 除n取余法:十进制———> n进制 每一位十六进制数与四位二进制数对应
- 进制加减法:加法:逢n进制进一 减法:借一当n
b.非十进制数转为十进制数
(1)二进制转换为十进制
(101.1101)2= 1x2^2+ 0x2^1+ 1x2^0+ 1x2^-1+ 1x2^-2+ 0x2^-3+ 1x2^-4= (5.8125)10
- 八进制转换为十进制
(105.236)8= 1x8^2+ 0x8^1+ 5x8^0+ 2x8^-1+ 3x8^-2+ 6x8^-3= (69.30859375)10
- 十六进制转换为十进制
(A27.5C)16= 10x16^2+ 2x16^1+ 7x16^0+ 5x16^-1+ 12x16^-2= (2599.359375)10
c.十进制数转换为非十进制数
整数部分:除N取余,商为0时,将余数倒序输出
小数部分:乘N取整数,直至积为0(或满足精度),整数部分正序输出
-
十进制转换为二进制
-
十进制转换为八进制
-
十进制转换为十六进制
d.二进制与八进制、十六进制的相互转换
二进制转为八进制(三位一组)
将二进制数从小数点开始分别向左(整数部分)和向右(小数部分)每3位二进制位组成一组,将每一组内的3位二进制数转换成八进制数码中的一个数字,按顺序连接起来即得八进制表示。不足3位时,对原数值用0来补足3位。
例如:(001 011 111 . 001)2= (137.1)8
二进制转为十六进制(四位一组)
将二进制数从小数点开始分别向左(整数部分)和向右(小数部分)每4位二进制位组成一组,将每一组内的4位二进制数转换成十六进制数码中的一个数字,按顺序连接起来即得十六进制表示。如果总的位数不是4的倍数,那么最左面的一组可以少于4位,前面用0来补足4位。
例如:(1111 1111 0100 1011)2= (FF4B)16
数据表示
1.原码,反码,补码,移码
(1)原码:总共有n位。最高位是符号位,0表示正号,1表示负号。其余n - 1为位表示数值的绝对值。
(2)反码:正数的反码与原码相同,负数的反码则是其绝对值按位求反。
(3)补码:正数的补码与其原码和反码相同,负数的补码则是等于其反码的末位加1。补码可以简化计算机运算部件的设计
(4)移码:在补码的基础上取反符号位。
- 补充
- 正数的原码补码和反码都相同
- 补码再取补码等于源码
- ±0的补码、移码相同