请问-1加1等于几?当然是零,但是在计算机中是怎么计算得到0的呢?
定义为short型,-1在计算机中存储为
(原码)1000 0000 0000 0001
为什么是这样呢,因为咱们看到的-1是补码.上面的是由补码换算成原码得来的.
1在计算机中存储为:
(原码)0000 0000 0000 0001
反码的计算方法:
正数:正数的反码与原码相同。
负数:负数的反码,符号位为“1”,数值部分按位取反。
计算和:
-1的补码+1的补码
=1000 0000 0000 0001的补码+0000 0000 0000 0001补码
=(1000 0000 0000 0001的反码+1)+0000 0000 0000 0001
=(1111 1111 1111 1110+1)+0000 0000 0000 0001
=1111 1111 1111 1111+0000 0000 0000 0001
=0000 0000 0000 0000(这个就是正0)
关于正零和负零:1000 0000 0000 0000 和 0000 0000 0000 0000 都是0,为了容易理解我说正零和负零。
得到结论是负0.反码原码的绝对值取反加一.这样也就能理解为什么8bit的带符号的值打大小范围是-128--127了:
-127原码是1000 0000(因为负数要求补码,所以除了符号位都是0的情况是最小值(取反后都是1嘛))
补码是反码加1=1111 1111+1它在计算机中的原码为0,这就是关键所在,用负0表示了-128.
.
对于128因为正数的补码反码原码都是一样的,所以除了符号位都是1的情况最大:
0111 1111 = (+)64+32+16+8+4+2+1
下面给个例子:
byte z= 127+2;//超出范围报错
byte z= -127-2;//超出范围报错
byte z= -127-1;//正确,倒是最小值-128了.
System.out.println(z);
分享到:
相关推荐
"原码反码补码说课.pptx" 本资源是关于计算机组成原理的教学课件,主要讲解了原码、反码和补码的概念、计算方法和表示范围。该课件旨在培养学生实事求是的学风、耐心细致的工作作风和严谨的工作态度。 一、知识...
在这个"b.zip_补码"压缩包中,包含的两个源代码文件——"链表.cpp"和"复习补码.cpp"——显然是为了帮助学习者理解补码以及它在编程中的应用,尤其是与链表数据结构相结合的情况。 首先,我们来深入理解补码的概念。...
在数值类型的表示中,计算机通常使用补码,因为这样可以简化运算并确保0的唯一表示,同时补码的表示范围比原码和反码更广。比如,定点小数的补码序列中,M=2,定点整数的补码序列中,M=2n+1。 寻址方式是控制处理器...
原码恢复余除法是每次迭代后恢复被除数的符号,以便下一次迭代。原码不恢复余除法不改变余数的符号,而是根据商的符号调整除数。补码加减交替法是基于补码表示的除法算法,通过不断地加减除数来逼近商。 4. 浮点四...
填空题涉及的范围主要是补码表示的整数范围和特定情况下的计算。8位二进制整数用补码表示,可以表示的整数范围是从-128(10000000)到+127(01111111)。对于定点小数,n的值取决于具体题目中的定义,一般n为0;对于...
补码是正数的补码与其原码相同,负数的补码是其反码加1。 三、逻辑运算 逻辑运算是计算机中最基本的运算之一,包括与运算、或运算、非运算和异或运算。与运算只有A、B变量皆为1时,与运算的结果就是1。或运算A、B...
计算机组成原理定点数、浮点数等运算方法复习,包括原码、补码、移码等介绍,以及定点数、浮点数的加减乘等运算。
例如,正数的原码、反码和补码相同,而负数的补码是其原码除了符号位外的所有位取反后加1。在不同的位数约定下,数据的表示范围会有所不同,这直接影响到计算的结果。 寻址方式是计算机指令系统的关键组成部分,...
常见的码制有原码、反码、补码等。 原码 原码是指一个数值的二进制表示形式。例如,原码0.1101表示的数值是0.75。 反码 反码是指原码的符号位取反,数值部分不变。例如,原码0.1101的反码是0.1101-0.1100。 ...
例如,8位二进制下的+107/128和-52的原码、反码和补码都给出了。 2. **有无权码的判断**: - **有无权码**:在二进制编码中,有权码的每一位都有对应的位权,可以直接计算出十进制值。如8421码,而无权码则没有...
原码、反码和补码的转换遵循特定规则,例如负数在原码和反码中的最高位为1,而补码是反码加1。 2. 采用补码的原因:补码使得符号位能够参与运算,0的表示具有唯一性,并且其表示范围比原码和反码大,有利于简化...
正数的补码等于原码,负数的补码是原码除了符号位以外的每一位取反再加1。 - 在减法中,将被减数转换为其补码,然后加上减数的补码,结果的补码即为差的补码。 7. **存储设备**: - 触发器是最基本的存储单元,...
2. 原码、反码和补码:原码是直接表示数值的编码方式,正数的符号位为0,负数为1;反码是负数的原码除符号位外按位取反;补码是负数的反码加1,正数的补码等于其原码。0的原码、反码和补码都是0。 3. 定点数表示:8...
- 补码用于表示有符号整数,正数的补码与其原码相同,负数的补码是其原码除了符号位外所有位取反再加1。 - 反码是正数不变,负数除符号位外所有位取反。 3. **浮点数表示** - 浮点数由阶码和尾数两部分组成,...
补码是正数的补码与原码相同,负数的补码为反码加1。 3. 计算机中使用的编码:在计算机中,我们经常使用不同的编码来表示信息。例如,BCD 码使用 4 位二进制数表示 1 位十进制数。ASCII 码使用 7 位二进制数表示字符...
首先,数据表示方面,复习资料中提到的是二进制数与十进制数之间的转换以及二进制的原码、反码和补码表示方法。二进制是计算机内部最基本的数字表达形式,原码表示法是直接将一个数值转换成二进制形式,并加上符号位...
正数的原码、反码和补码相同,而负数在原码基础上进行特定变化。例如,原码中负数除符号位外的其他位取反得到反码,反码加1得到补码。补码的使用使得符号位可以参与运算,0的表示具有唯一性,并且其表示范围较原码和...
- **补码表示**:正数的补码与原码相同;负数的补码是在反码的基础上加上1。 ##### 技巧 - 将107转换为二进制后,可以通过小数点的移动来实现特定的转换需求,例如通过小数点向左移动7位来获得与128相关的表示形式...
计算机基础复习涵盖了许多关键概念,包括计算机的发展历程、特点、应用领域以及计算机科学的基本理论,如数制转换、原码和补码的概念,以及数据的定点和浮点表示。 首先,计算机的发展经历了四个主要阶段,从早期的...