补码怎么算计算器,-64的补码是多少?
补码怎么算计算器,-64的补码是多少?详细介绍
本文目录一览: -64的补码是多少?
用绝对值减一、取反,即可。
先减一,得:63 = 0011 1111。
再取反,即:1100 0000。
-64,有符号数,第一位为符号位所以,
原码:
11000000,二进制1000000转换成10进制为64
反码:
正数的反码与原码相同,负数的反码,符号位不变,其余各位按位取反,所以反码为:
10111111
补码:
正数的补码与原码相同,负数的补码,符号位不变,其余各位按位取反再加1,所以反码为:
10111111+1=11000000
计算机里,负数的是以补码形式存放的,WIN7以上的系统自带的计算器就可以查看负数的补码。打开计算器,切换到程序员模式,然后输入-64,可以看到下面的补码,如图:
注意红框里面的数字即是-64的补码,如果是负数,前面的所有位数都是1
如何用计算器求补码?
负数:原码取反(不包括符号位)+1 = 补码
十进制数-254的九位原码:1 1111 1110
十进制数-254的九位反码:1 0000 0001
十进制数-254的九位补码:1 0000 0010
所以十进制数-254的九位补码:1 0000 0010
原码反码补码详细概述
在计算机系统中,数值,一律用补码表示和存储。
原码和反码,都是不存在的,因为,计算机根本就不用它们。
求负数 X 的补码,公式是:
[ X ]补码 = 2^n - | X |。
如 n = 8,-128 的补码就是:
[-128]补 = 256 -128 = 128 = 1000 0000。
求补码,很简单的。
就不要用“取反加一”了。
用“取反加一”,是求不出来-128 补码的。
原码:
原码符号位就是正为0,负为1
例子:
34=0010 0010
-29=1001 1101
-19=1001 0011
反码:
正数的反码等于原码,
负数:符号位不变,其余位取反,
-33=1010 0001(原)
1101 1110(反)
-37=1010 0100(原)
1101 1011(反)
-49=1011 0001(原)
1100 1110(反)
补码:
计算机中数据以补码的形式,同样以补码的形式参与运算
正数:原码=反码=补码?
负数:首先求得的反码,在反码的基础上加一,加在最低位上。
-34=1010 0010? ? ? 补码:1101 1110
-29=1001 1101? ? 补码:1110 0011
-47=1010 1111? ? 补码:1101 1111
为什么需要反码和补码?
反码:计算器运算器只有加法器,没有减法器,
但是反码有缺陷,正负相加0不是唯一的
补码:为了解决反码正负相加不唯一的情况,使用高位溢出解决;
例题:
补码:45-19=26
? 0010 1101
+1110 1101
? 0001 1010
53-27=26
? 0011 0101
+1110 0101
?? 0001 1010
65-34=31
? 0100 0001
+1101 1110
?? 0001 1111
-34--27=-61
?? 1101 1110
+ 1110 0101
---------------------------
?? 1100 0011 ? ? ? ? ? ? ? ? ? ? 因为他的结果为负,所以要取他的补码方能得到正确结果: 1011 1101
正数不需要转,负数需要将负数的补码当做原码,求补码,(补码的补码)
例题:
1111 1111 1000 0000【-128补码】求原码
1000 0000 1000 0000
1001 0011 (原)? 1110 1101(补)
-25的补码是什么,希望过程详细一点,谢谢
首先,它是个负数,所以,符号位是1,也就是第一位是1
在计算机中,负数以补码形式存储,正数的补码就是原码,负数的补码为符号位不变,其余各位按位取反再加1,所以,先计算25的原码:
25转换成2进制,结果为11001(16+8+1),11001即为25的原码。
按位取反,得到:
00110
再加1,得到:
00111
加上符号位,得到最终结果:100111。所以-25的补码为100111。
可以直接在计算器中得到验证,打开计算器,输入-25,可以看到下面的2进制表示:
看红框里的二进制表示,如果这个数是个负数,前面的符号位都是1。
计算机原码反码补码怎样计算
计算机中,只有补码,没有原码和反码。
数字,在计算机中,一律用补码表示。
数字与补码的关系,可见下表:
换算公式,很简单的,一看便知。
原码反码取反加一,实际上,都没有什么用处。
老外数学不好,才不得不用这么麻烦的做法。
计算机原码反码补码计算方法:
1、原码
原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原码是人脑最容易理解和计算的表示方式。
2、反码
反码的表示方法是:正数的反码是其本身。负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数,人脑无法直观地看出来它的数值。通常要将其转换成原码再计算。
3、补码
补码的表示方法是:正数的补码就是其本身。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)。
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数,补码表示方式也是人脑无法直观看出其数值的。通常也需要转换成原码在计算其数值。
扩展资料:
原码,反码和补码是完全不同的。既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
首先,因为人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。但是对于计算机,加减乘数已经是最基础的运算,要设计的尽量简单。计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂。于是人们想出了将符号位也参与运算的方法。我们知道,根据运算法则减去一个正数等于加上一个负数,即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。
于是人们开始探索将符号位参与运算,并且只保留加法的方法。
补码计算
某整数的16位补码为FFFFH,则该数的十进制为多少
--是-1。
感觉-1和65535都符合要求,可是答案却是-1
--如果是补码,就是-1。
--不是补码,就是 65535。
求详解
--你求出-1 的补码,就行了。
(另为-128补码怎么算 符合位最高位怎么搞)
--你就按照补码的定义式去做,即可。
机器码 FFFFH,可以代表无符号数,就是 65535。
机器码 FFFFH,可以代表带符号数,就是 -1。
-1 是怎么求出来的?
用 65535,减去模(即65536),就等于-1了。
-----
另为-128补码怎么算 符合位最高位怎么搞?
八位二进制数,模是 1 0000 0000,即 256。
按照补码的定义式:
[-128]补 = 256 - |-128| = 128 = 1000 0000。
并没有什么符号位的问题。
首先,叫你计算补码,最好的方式不是将这个16进制的数转换为10进制,而是将其转换为2进制。
回到这个题目,正确的想法应该是FFFF(H)=1111,1111,1111,1111(B),也就是将其转换为2进制考虑问题。
这个2进制数的补码首位是1,说明这个数是个负数。(首位是0是非负数,首位是1则是负数)
你再看看补码的定义,正数补码是它本身,负数补码就是其反码+1。
那回到原题,这个数的反码就是:1111,1111,1111,1111(B)-1=1111,1111,1111,1110(B)。
根据反码定义,你不难得出数的原码是1000,0000,0000,0001(B)=-1。
(首位符号位不变,其它位取反)
同样的方法,根据原码,反码,补码的定义,你也可以计算-128的补码。但是你没说要求的是多少位补码,我当求8位补码来考虑了。
第一步:转换为2进制:-128转化为8位二进制数为1111,1111(B)
第二步:求其反码:1000,0000(B)
第三步:求补码:就是反码+1=1000,0001(B)=-1
若是求16位补码:则同理:其2进制补码为1111,1111,1000,0001(B),我就不转换10进制了,有需要可以用windows自带的计算器,用“科学型”进行进制转换。
这种题目,对于刚学习的来说,不能急,关键看定义,通过定义来计算。定义都是用2进制来考虑的,你为什么要想换成10进制去算?对吧?
F6的补码是什么?
我说一下计算器的怎么计算F6的补码
打开计算器(打开计算器,总会的,我就不说明了)。
减去1(这里我就不再图上说明了!!!)
得到:
更准确的说应该是-10。
请大家复制之后声明原出处:http://zhidao.baidu.com/link?url=JTUKP5quGfMQixLZSvtC2XlKMkQDyQbYW72_DRyD6KDRpkLs8_6poQtKkwsyqzU8DOd5Nv3nbMbIu7rx3nzQcq
计算机二进制数用补码?
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为22、21、2o。对于有n位整数,m位小数的二进制数据用加权系数展开式表示。
二进制和十六进制,八进制一样,都以二的幂来进位的。
计算机中的十进制小数用二进制通常是用乘二取整法来获得的。
十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)。
希望我能帮助你解疑释惑。
对,因为补码方便,补码在计算器内部做乘法和除法时,可以做到正数负数使用相同的方法,即移位加法,这样可以将一次乘法变成8次加法。原码和反码不能直接这么做,会麻烦一点,另上面那哥们明显是随便百度的0 0希望给个采纳、
二进制补码的运算 -6的原码
补码,是在计算机的内部,进行计算 的时候使用的。
在屏幕上操作的计算器,是不用补码的。
-6的原码:1 000 0110,这只能人工计算。
对正数进行取反加一操作可以得到负数,-6的二进制为:1111 1111 1111 1010
再进行取反加一后得到原码:0110
程序附件里的计算器不好算吧。
手工转换吧:
-6原码:10000110
原码、补码和反码
[日期:01-11] [字体:大 中 小]
(1)原码表示法
原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:1表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作〔x〕原。
例如,X1= +1010110
X2= 一1001010
其原码记作:
〔X1〕原=[+1010110]原=01010110
〔X2〕原=[-1001010]原=11001010
原码表示数的范围与二进制位数有关。当用8位二进制来表示小数原码时,其表示范围:
最大值为0.1111111,其真值约为(0.99)10
最小值为1.1111111,其真值约为(一0.99)10
当用8位二进制来表示整数原码时,其表示范围:
最大值为01111111,其真值为(127)10
最小值为11111111,其真值为(-127)10
在原码表示法中,对0有两种表示形式:
〔+0〕原=00000000
[-0] 原=10000000
(2)补码表示法
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作〔X〕补。
例如,[X1]=+1010110
[X2]= 一1001010
[X1]原=01010110
[X1]补=01010110
即 [X1]原=[X1]补=01010110
[X2] 原= 11001010
[X2] 补=10110101+1=10110110
补码表示数的范围与二进制位数有关。当采用8位二进制表示时,小数补码的表示范围:
最大为0.1111111,其真值为(0.99)10
最小为1.0000000,其真值为(一1)10
采用8位二进制表示时,整数补码的表示范围:
最大为01111111,其真值为(127)10
最小为10000000,其真值为(一128)10
在补码表示法中,0只有一种表示形式:
[+0]补=00000000
[+0]补=11111111+1=00000000(由于受设备字长的限制,最后的进位丢失)
所以有[+0]补=[+0]补=00000000
(3)反码表示法
机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作〔X〕反。
例如:X1= +1010110
X2= 一1001010
〔X1〕原=01010110
[X1]反=〔X1〕原=01010110
[X2]原=11001010
[X2]反=10110101
反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。
例1. 已知[X]原=10011010,求[X]补。
分析如下:
由[X]原求[X]补的原则是:若机器数为正数,则[X]原=[X]补;若机器数为负数,则该机器数的补码可对它的原码(符号位除外)所有位求反,再在未位加1而得到。现给定的机器数为负数,故有[X]补=[X]原十1,即
[X]原=10011010
[X]反=11100101
十) 1
[X]补=11100110
例2. 已知[X]补=11100110,求〔X〕原。
分析如下:
对于机器数为正数,则〔X〕原=〔X〕补
对于机器数为负数,则有〔X〕原=〔〔X〕补〕补
现给定的为负数,故有:
〔X〕补=11100110
〔〔X〕补〕反=10011001
十) 1
〔〔X〕补〕补=10011010=〔X〕原