进制的互相转换
二进制
0 1
八进制
0 1 2 3 4 5 6 7
十进制
0 1 2 3 4 5 6 7 8 9
十六进制
0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 10 | A | |
1011 | 11 | B | |
1100 | 12 | C | |
1101 | 13 | D | |
1110 | 14 | E | |
0111 | 15 | F |
二进制与十进制的转换
https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
十进制转二进制
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。
二进制与八进制之间的转换
二进制转八进制
方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
八进制转成二进制
方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
二进制与十六进制之间的转换
二进制转十六进制
方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
十六进制转二进制
方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
十进制与八进制与十六进制之间的转换
十进制转八进制或者十六进制有两种方法
第一:间接法,把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。
第二:直接法,把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。
八进制或者十六进制转成十进制
方法为:把八进制、十六进制数按权展开、相加即得十进制数。
十六进制与八进制之间的转换
进制与十六进制之间的转换有两种方法
第一种:他们之间的转换可以先转成二进制然后再相互转换。
第二种:他们之间的转换可以先转成十进制然后再相互转换。
原码、反码、补码之间的快速转换和简单运算
原码转换为反码:符号位不变,数值位分别“按位取反”
反码转换为原码也是一样:符号位不变,数值位分别“按位取反”
例:X = -1101001(真值-105)
X原 = 11101001
X反 = 10010110
原码转换为补码:符号位不变,数值位按位取反,末位再加1
例:已知X原= 10011010,求X补
X原= 10011010 原码为负数
11100101 符号位不变,其余各位取反
+ 1 末位加1
X补= 11100110
补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码
例:已知X补= 11101100,求X原
X补= 11101100 补码为负数
10010011 符号位不变,其余各位取反
+ 1 末位加1
X原= 10010100
求补(变补),即已知[X]补,求[-X]补 。符号位和数值位都取反,末位再加1
[X]补的代码连同符号位一起变反,末位再加1,即得到[-X]补
例:已知[X]补= 01010110,求[-X]补
[X]补= 01010110 不区分正负号
10101001 连同符号位一起变反
+ 1 末位加1
[-X]补= 10101010
正整数的原码、反码和补码都一样;
负数部分:
-
原码和反码的相互转换:符号位不变,数值位按位取反
-
原码和补码的相互转换:符号位不变,数值位按位取反,末位再加1
-
已知补码,求原码的负数的补码:符号位和数值位都取反,末位再加1