十进制正数的二进制形式和十进制负数的二进制形式之间的转化

比如说

+12的二进制形式为
00000000 00000000 00000000 00001100(1)

-12的二进制形式为
11111111 11111111 11111111 11110100(2)

1式和2式之间的转化有没有什么规律?
在哪里加1???

还是不懂!!!

1-1111111 11111111 11111111 11110011(2) 这个就是+12的反码!

这个反码转化为补码时在最后一位加1,可上面的反码的最后一位已经是1了..那该怎样转化???

这个反码转化为补码的结果是什么呢?

转化以后的补码就等于-12的二进制形式嘛?

计算机内,使用补码表示数字的~~~ -把正12每位取反之后,加1就是-12了

补充:给你详细说下吧
计算机有三种码,原码,反码和补码。冯结构的计算机内,数据存储用的是补码,因为只用加法就可以计算减法了.

看你的问题

0-0000000 00000000 00000000 00001100(1)+12每位取反后得到
1-1111111 11111111 11111111 11110011(2) 这个就是+12的反码!

为什么下面的就是负数了呢,看最前的那一位(我用减号隔开了) 这位,其实表示的是数的符号~~0为+ 1为-,这也可以理解为什么有符号int型为-2exp31到2exp31-1了。因为头一位是符号位!

看上面的反码,在反码最后一位加1,就是补码,也就是计算机内部负数的存储形式!也就是你给的-12

汗一个:二进制加法啊

1-1111111 11111111 11111111 11110011 反码
+ 1
---------------------------------------
1-1111111 11111111 11111111 11110100 补码
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-03-25
就是在结尾加1么
第2个回答  2008-03-25
lang包里有这样的函数

十进制正数的二进制形式和十进制负数的二进制形式之间的转化
看上面的反码,在反码最后一位加1,就是补码,也就是计算机内部负数的存储形式!也就是你给的-12 汗一个:二进制加法啊 1-1111111 11111111 11111111 11110011 反码 + 1 --- 1-1111111 11111111 11111111 11110100 补码

如果是十进制的负数,怎么转换为二进制?
负数转换为二进制,就是将其相反数(正数)的补码的每一位变反(1变0,0变1)最后将变完了的数值加1,就完成了负数的补码运算。这样就变成了二进制。将-1变成二进制。①首先确定二进制的位数,假定为16位,即可以表示-32768到32767的所有十进制整数。②将-1的相反数,也就是1表示为二进制0000 ...

十进制负数转化成二进制?
负数的补码:符号位变为一,数值位取反加一,符号位是二进制数的第一位,其余为均为数值位具体实例分析:十进制负数转化成二进制:先把十进制负数取正,然后用二进制表示出来,因此-14先表示成01110,第一位是符号位0,变为1,数值位取反变为0001,再加1变为0010,因而-14补码就是10010,至于你题...

负数进制转换
(一)十进制(整数)转二进制:用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果。例1:将405转换成二进制的数。解:405\/2=202余1(注意这个1将写在二进制数的最后面)202\/2=101余0 101\/2=50余1 50\/2=25余0 25\/2=12余1 12\/2=6余0 6\/2=3余0 3\/2=1余1(注意...

十进制负数转换成二进制数
十进制转二进制:正数直接转 如 55 = 0011 0111b 负数:绝对值转换成二进制,按位取反,加1,如-55,先把55转换成0011 0111b,取反: 1100 1000b 加1:1100 1001b 逆问题,二进制转十进制,要弄清楚是多少位的,不足的部分要在前面把0补上。首先看首位是0还是1, 0表示正数,1表示负数。

进制之间的转换
二进制转十进制则是小数点前同正整数运算,小数点后则是从左往右乘以二的相应负次方并递减 同整数一分四和四合一方法。与二进制转换类似 需要了解几个知识点,源码, 反码,补码 原码 :一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为...

十进制负整数转为二进制:首先按照十进制正整数去算二进制,然后取反加1...
十进制-20,他的二进制补码是11101100,二进制反码是10010011,二进制原码是10010100。当已知一个二进制原码是10010100时,首位1表示是负数,尾数表示它的绝对值,(0010100)2=20 总的即是-20。人工转换时,负的二进制转换为十进制则是二进制尾数取反加1,得出它的原码,再得出负的原码尾数表示的十...

十进制负数转换二进制码
-123的原码11111011,第一个1表示负号,如果是正的123,那它的原码就是01111011 就是123不断的除2取余所得的结果,一直除到1或0为结束,再从下往上取所得的结果 正数的原码反码补码都相同,负数的反码是除符号位为1外,其他位全取反;补码就是反码+1 ...

十进制数转化为二进制数的过程是怎样的?
如一个十进制数123.456可以表示成:0.123456*103,十进制小数0.00123456可以表示成0.123456*10-2。纯小数R的小数点后第一位一般为非零数字。同样,对于既有整数部分又有小数部分的二进制数口也可以表示成如下形式:D=R*2N 其中R为一个二进制定点小数,称为D的尾数;N为一个二进制定点整数,称...

二进制负数(二进制负数补码运算法则)
通过观察,我们可以发现,在处理负数的二进制形式时,实际操作中总是要通过正数的二进制形式来进行转换。对于判断二进制数是正数还是负数,关键在于观察最前面的位数,即符号位,如果为1,则表示该数为负数,需将其转换为十进制形式后取相反数;如果为0,则表示该数为正数。在传统的书籍中,对于正数和...

相似回答
大家正在搜