怎么把数字的负数去掉 计算机中两个负数是怎么想减的?
计算机中两个负数是怎么想减的?
如果你想知道计算机是如何进行数字运算的,你需要了解计算机的存储原理。
大家都知道计算机只知道0和1,但是0和1对人不友好。怎么才能转化他们呢?这需要从电脑的存储说起。
Bit和byte bit:源自英文bit,音译为 "比特 ",意思是二进制位。位是计算机中数据存储的最小单位,11010100是一个8位二进制数。
Byte:来自英文byte,音译为 "拜特 ",习惯上用大写字母 "B "。字节是计算机处理数据的基本单位。信息在计算机中是以字节存储和解释的。规定一个字节由八个二进制位组成,即一个字节等于八位(1Byte8bit).八位字节的最小数量是0000000,最大数量是1111111;通常一个字节可以存储一个ASCII码,两个字节可以存储一个汉字国标码。
Unsigned integer, signed integer and unsigned character, signed character.
一般来说,char类型变量在计算机内存中占用1个字节,即8个字节。未签名表示未签名,签名表示已签名。Char默认为未指定的类型。
如果是无下标的char,那么最高位(最左边)可以用来表示数字,所以char在二进制中可以表示的范围是00000000 ~ 1111111,换算成十进制就是0~255。
如果是有符号的char,需要用最高位(最左边的位)来表示正负0为正,1为负,所以只有剩下的7位可以表示数字,所以可以表示的范围是1111 1111 ~ 0111111,十进制转换位是-127~127。还有一个1000 0000就是-128的意思,因为没有负0的概念。计算机中的负数都是用补数表示的。补语的概念将在后面讨论。
Unsigned int和signed int是在char的基础上理解的,只不过int是四个字节,也就是4*832位。默认情况下,Int是有符号的。因此,无符号整数的范围是:0~2-1的32次方。有符号int表示的范围是:-2的31次方~2的31次方-1。
原码、补码、补码:要想把原码、补码、补码理解清楚,还需要理解另外两个概念:机号和真值。
机器号:一个数在计算机中的二进制表示,称为这个数的机器号。机器的数量是有符号的,比如十进制的数字3,计算机的字长是8位,换算成二进制就是00000011。如果是-3,就是10000011。00000011和10000011这里是机器的数量。
真值:以上面的机器号00000011(十进制3)为例,它的形式值是131(二进制转换为十进制),但我们实际想要的是3,所以需要去掉最高符号位为00000001的真值0000111 3。真值为1000 0001–000 0011–3。
知道了以上两个概念,我们就可以看原码,补码,补码了。
原码:顾名思义,原码是我本来想表示的值的二进制码,所以3/-3的原码需要考虑符号位:3的原码是:0000 0011。-3的原码是:1000 0011。
反向代码:
正数的负码是它本身。
负数的求反是基于它的原始码,符号位不变,其他位反转。
3原代码为:0000 0011,反代码为:0000 0011。
-3原代码为:1000 0011,反代码为:1111 1100。
补充:
正数的补数是它本身。
也就是说,在逆代码的基础上,1
3原代码为:0000 0011,反代码为:0000 0011,补码为:0000 0011。
-3原码为:1000 0011,反码为:1111 1100,补码为:1111 1101。
你为什么有这么多码?看了以上内容,大家一定很困惑。为什么要弄这么多码?这是因为计算机可以 不要区分符号位,因为这显然使计算机的基本电路设计变得非常复杂!所以人们想出了一个方法,将符号位包含在运算中。我们知道,根据算法,减去一个正数等于加上一个负数,即: 1-1 1 (-1) 0,所以机器只能加不能减,所以计算机运算的设计更简单。
另外,加减乘除,正数当然好办。如果遇到负数,就会有问题。让 让我们看看-3-(-3)如果你使用原始代码:
电脑里只有加法,所以-3-(-3)3(-3);
000000011 100001110000110、我们对符号进行计数,转换成十进制:-6;
因为原始代码没有。;不行,用反向代码怎么样?好吧,试试看。
0000 0011 1111 1100 11111111,我们数符号的时候,小数是:-127;
然后再次尝试补码。
0000 0011 1111 1101 00000000;我们统计转换成十进制的符号:0;
好吧,那 是对的;
总结所以计算机运算是基于补码运算,计算机只有加法,两个负数的减法最终会通过加法和数本身的正负来实现。
excel中数字如何统一变负?
1打开excel,点击鼠标左键选择需要变成负数的单元格。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。