进制间的相互转换

二进制:是一种计数方法,逢2进1

原码:是指将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。

反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反。 

补码:如果是正数,则表示方法和原码一样;如果是负数,则将原码数值位取反然后在最低位加1。(补码是计算机表示数据的一般方式)

举例:       72                       - 32            (红色表示符号位)   

原码: 01001000            1010 0000(32的原码,然后将最高位变为1即可)

反码: 01001000            1101 1111

补码: 01001000            1110 0000(+1的方法为:从最低位开始凡遇1均变为0,直到遇见第一个0,将它变为1即可)

进制转换的方法:

短除法:适用于任何一种进制转二进制

举例:十进制转二进制: 如 73 :01001001

短除法演示如下:

二进制转十进制:如:10010101

二进制转八进制(三位二进制法):如:010 010 101  2^3=8,故可以将这8位数,三个三个分为一组,不够的补0,每组都当做一个新的二进制数计算,然后合并即可

二进制转十六进制(四位二进制法):如:1001 0101  2^4=16,故可以将这16位数,四个四个分为一组,不够的补0,每组都当做一个新的二进制数计算,然后合并即可

负数的二进制

29:       00011101变成负数

先取反:11100010

再+1:   11100011

结果:    11100011    -29

二进制数代码展示

在代码中二进制整数是以0b开头的,八进制整数是以 0开头的,十进制整数默认啥也不开头,十六进制整数以0x开头。
  

发布了8 篇原创文章 · 获赞 3 · 访问量 274

猜你喜欢

转载自blog.csdn.net/MillionSong/article/details/104218629