1.进制的转换
通常的进制指的是二进制(B),八进制(O),十进制(D)和十六进制(H),英文表示分别为Binary,Octal,Decimal,Hexadecimal,通常以数值后面跟他们的大写的首字母来区别他们
-
十进制转换为二进制
这里最常用的就是短除法了,除尽余0.,除不尽余下1,然后倒着写下如下图所示: -
二进制转八进制和十进制(反过来倒着推就可以)
这个相对来说会比较简单,每三个二进制位代表一个八进制位,同理每四个二进制位代表一个十六进制位不全的补上0。如下图所示:
注意一下:十六进制数是0-9,10-15分别用A-F表示
2.原码,反码,补码,移码
1.原码
在原码表示中,机器数的最高位是符号位, 0代表正号, 1代表负号,余下各位是数的绝对值。零有两个编码,即[+0]原=0000000 [-0]原= 1000000表示方法的优点在于数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除运算的规则简单;缺点是用原码实现加减运算很不方便。
2.反码
在反码表示中,机器数的最高位是符号位, 0代表正号, 1代表负号。当符号位为0时,其余几位即为此数的二进制值;但当符号位为1时,则要把其余几位按位取反,才是它的二进制值。零有两个编码,即[+0]反=0000000 [-0]反= 11111111
3.补码
在补码表示中,机器数的最高位是符号位, 0代表正号, 1代表负号。当符号位为0(即正数)时,其余几位即为此数的二进制值;但当符号位为1(即负数)时,其余几位不是此数的二进制值,需把它们按位取反,且最低位加1,才是它的二进制值。零有唯一的编码,即[+0]补=[-0]补=000000000 表示的两个数在进行加法运算时,只要结果不超出机器所能表示的数值范围,可以把符号位与数值位同等处理,运算后的结果按2取模后,得到的新结果就是本次加法运算的结果
4.移码
移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。
总结:正数的原码,反码,补码的值都是一样,移码是补码的符号位取反,负数的原码=正数的符号位取反,反码=原码的符号位不变,其他位取反,补码=反码+1,移码=补码的符号位取反
数值的表示范围:
休对故人思故国,且将新火试新茶。诗酒趁年华。 苏轼《望江南·超然台作》