原码 反码 补码怎么转换

数字怎样才能转化为如110011这种数,为什么?
2024-11-26 10:41:15
推荐回答(4个)
回答1:

反码补码原码怎么转换,来看看方法吧。

1、首先原始代码的最高位是符号位,0表示正,1表示负,中间值表示数字的绝对值。  

2、符号的反转,正数符号的反转与原符号相同,负数的补数是该符号的最低有效位数加上1。

3、补数,正数的补数与原代码相同,负数的补数在其倒数第一的基础上加1。零分为+0和-0。 进行不同符号的加法或同一符号的减法时,不能直接进行加法或减法,不能直接给出正负的结果。  

4、必须先取绝对值,然后再加上减法。 符号比特由较大的绝对值决定,因此出现了转码。 反码是对原始代码的改进。补码在针对加减运算和正负零的问题上都解决了,平时用的最多的也就是补码。

回答2:

十进制每位基数是:个位1,高位=低位*10,因此观察2018这个数和基数的关系:

1000 100 10 1
  2   0   1 8 这个数包含2个1000,0个100,1个10和8个1

387D=?B,二进制计数实际上仅比十进制使用的基数不同而已

写出二进制每位基数:个位1,高位=低位*2,从个位开始写,写到比387大为止

512 256 128 64 32 16 8 4 2 1 用这组数从高到低顺序将387凑出来,用到的数下面写1,否则0
 0   1   1   0  0  0 0 0 1 1 387包含1个256,1个128,1个2和1个1

因此,387D=110000011B

其他n进制也这么转换,使用n进制基数:个位1,高位=低位*n

回答3:

十进制的各个位,称为:... 万、千、百、十、个。1/10、1/100 ...。
  19,就称为:1*十、9*个。

二进制的各个位,称为:... 16、八、四、二、个。1/2、1/4 ...。
  10011,就称为:1*16、0*八、0*四、1*二、1*个。

回答4:

把十进制 387,转换为二进制,就是:110000011。
你做的步骤方法,也算正确。
但是,这只是【数制转换】而已,和原码反码补码,毫无关系。