进制转换与原码、反码、补码定义!

时间:2024-04-06 18:42:41

一、二进制转八进制

  1、把二进制转为十进制在转换为八进制,当然这种方法太繁琐。
  2、采用三位组合法,从右开始,每三位一组合,最左边不够的时候补0,然后计算对应的十进制数值。最后,从左往右把每个十进制数组合起来,就是一个八进制的数。

举例: 进制转换与原码、反码、补码定义!
  3.八进制转为二进制
反推。例如53,把5与3用三位二进制数表示即可 101 011

二、二进制转为十六进制

  四位组合法,跟三位组合法一样,只不过四位一组。

三、十进制转R进制

  规则:重复相除法(除基取余,直到商为0,余数反转)举例:十进制转二进制
进制转换与原码、反码、补码定义!
42转为二进制;101010

四、原码、反码、补码定义

  1、计算机中的数据
  0表示正数,1表示负数,那么0与1也表示数据值,那我们怎么判断他是数据值还是符号位呢?
  答:规定第一位为符号位

  2、原码表示法,原码就是数值的二进制数
计算机中大家都知道是使用二进制计算的,那二进制计算使用原码吗?
例如:1+2就为:000000010+00000010=00000011,结果为3,由此可知,原码可以进行加法运算。
那如果是减法呢?举例:1-2就为1+(-2)1-2=1+(-2)=00000001+10000001=10000011=-3结果肯定不对
这个时候反码就出来了

  3、反码的表示
正数的反码和原码相同
负数的反码就是它的原码除符号位外,按位取反(1变0,0变1)
上面1+(-2)就为:00000001+11111101=11111110 (注意:此时是用反码进行计算的,所以得到的结果也是反码)根据下图知道,结果为-1(负数补码),如此可见,使用反码进行二进制减法是可以的。
那如果是-1-2呢?举例:-1-2=-1+(-2)11111110+11111101=11111011(结果为-4)符号位进位舍弃,说明进行使用反码运算也是有问题的。此时,就需要补码了。
进制转换与原码、反码、补码定义!

  4、补码的表示
正数的补码和源码相同
负数的补码等于反码+1
-1+(-2)使用补码计算:11111111+11111110=11111101(由上图补码栏知,结果为-3)
1+(-2) 00000001+11111110=11111111(由上图补码栏知,结果为-1)
结论:计算机中,存储和运算采用的都是补码,计算过程中,符号进位舍弃