二进制的补码怎么算?
二进制的补码怎么算?, 二进制的补码问题
-85负就是1,然后计算正85:+85的原码(1010101)→按位取反(0101010)→加1(0101011)
10101011(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
【例2】求-7的补码。
因为给定数是负数,则符号位为“1”。
后七位:+7的原码(0000111)→按位取反(1111000)→加1(1111001)
所以-7的补码是11111001。
-108的16个二进制的补码
你问的是-108的16位二进制的补码吧 !
正的108的原码为 0000 0000 0110 1100
负的108的原码为1000 0000 0110 1100
反码 为 1111 1111 1001 0011
补码 为 1111 1111 1001 0100,即FF94 h
负78的八位二进制的补码
x = -78d = -100 1110b
[x]原 =1100 1110b
[x]反 =1011 0001b
[x]补 =1011 0010b
求助!用4位二进制的补码算5-6怎么算啊?
类似于十进制 不够的从前一位借1
不过 0借1了以后前一位只剩1了 就像十进制 借一之后只剩9一样 然后做减法
. 0101
- 0110
= 1111 (-1的补码)
负数的二进制是怎么算的?其绝对值二进制的补码?
绝对值求反加一
-100原码:1000 0000 0110 0100
-100反码:1111 1111 1001 1011
-100补码:1111 1111 1001 1100=1111 1111 1001 1011(反码) +1
-10100二进制的补码是什么啊
若字长8位,则:
[-10100]原 =1001 0100
[-10100]反 =1110 1011
[-10100]补 =1110 1100
二进制的余码,反码,补码怎么算
举例说明如下:
真值X = -11111 , 若字长8位,则:
[X]原 =10011111 , 最高位是符号位,1表示负数
[X]反 =11100000 , 将原码除符号位之外的数值位取反得反码
[X]补 =11100001 ,将反码末位加1得补码
若真值是正数,无须上述操作,正数的原码反码补码符号位为0,数值与真值相同
例如,真值 y = +100011 , 8位字长,[y]原 =[Y]反 =[Y]补 =00010011
最高位(符号位)为0表示正数,其右侧二个0用于补齐8位字长
数字10怎么转化为二进制的补码
真值+10d =+1010b
( d是十进制数后缀 , b是二进制数后缀 )
若用8位字长的机器数表示
[+10d]原 =[+10d]反 =[+10d]补 =00001010b
最高位是符号位,0表示正数,符号位右侧的3个0用于补齐8位
正数的原码、反码、补码,是相同的
二进制101011的补码和二进制-1110111补码之和
x =101011b, y= -1110111b
约定8位字长
..[y]原 =1111 0111b
..[y]反 =1000 1000b
.
..[y]补 =1000 1001b
..[x]补 =0010 1011b (+
--------------------------
[x+y]补=1011 0100b
Cs⊕Cp = 0⊕0 = 0 ,无溢出
(Cs是符号位的进位,Cp是最高数值位的进位,⊕表示异或)
[x+y]反=1011 0011b
[x+y]原=1100 1100b
结果x+y= -100 1110b = -78d
也不仅是二进制用补码运算,任何进制,都有“补码”的。
你看十进制,两位数是:0 ~ 99。
可以有:27 + 99 = (一百) 26
也可以:27 - 1 = 26
如果你忽略进位,依然保持两位数,那么:
--正数,就能当负数来用;
--加法,也就能完成减法运算。
如果在计算机舍弃进位,会怎样?
--计算机中,就全是正数了。
--负数没有了,减法运算也没有了。
--减法器,也没有了用武之地。
--计算机只需配置一个加法器,便可横行天下!
----------------------
看到了吗?
--只有你舍弃了进位,正数才能代替负数!
--补码,并不是来自取反加一!
【舍弃进位】,才是补码的来源和存在意义。
----------------------
两位十进制时,舍弃进位,就是减去一百 (10^2)。
那么,加上 99,再减去 100,必然就是“-1 ”!
------
八位二进制数则是:0000 0000 ~ 1111 1111。
换算到十进制,即:0 ~ 255。
出现了进位,就是:2^8 = 256。
------
那么,加上 255 (1111 1111),再减 256,不也是-1 吗?
同理:254 (1111 1110),就能代替-2。
。。。
最后:128 (1000 0000),就是代表-128 的。
这些正数,就是计算机专家 “发明” 的补码。
----------------------
其实,补码,不需要发明!
所谓的补码,不过就是小学的知识点。
计算机专家,却弄不明白这个。
于是,就编造了一批垃圾:
--机器数真值原码反码取反加一符号位不变、符号位也参加运算...
谁要是跟老外学算术,立刻、马上,直接就掉到沟里去了!