-35原码为什么不是1100011而是10100011,原码的范围

文章 3年前 (2021) admin
0

Q1:-35原码为什么不是1100011而是10100011

回答
你好,很高兴为你服务。我是小李爱学习。百度知道一个资深求解者。它已经服务了3000人,可以帮助你很好地回答你的问题。这里打字需要时间,请稍等~
一个是7位原码,一个是8位原码。原始代码在二进制数表示的基础上,取最高有效位作为符号位。通常,编码格式是根据8位及其倍数来讨论的。
3:正数的原码是本身,用二进制写是0010 0011-40:负数的原码等于其绝对值的二进制符号位(左边第一位),反相(即变成1),所以结果是1010 1000。
[-35] Value=-100011b,后缀B表示二进制数。如果字长是8位,那么:[-35]原码=1010011b [-35]补码=11011100b [-35]补码=1101101b。
再来两杯。

Q2:-35原码是1100011还是10100011

1100011

Q3:-35原码是1100011还是10100011

你说35岁,不是-35岁?35是100011。你可以用windows自带的计算器进行转换!

Q4:计算机中原码的问题

引入原码反码和补码的目的就是为了解决减法问题,因为计算机cpu的运算器中只有加法器,要把减法转化成加法来计算。举个例子,a表示十进制数“+16”,b表示十进制数“-19”,把这两个数的原码直接相加,得:a=+16(a)原=00010000b=-19(b)原=1001001100010000+10010011————10100011其结果符号位为1是负数,其数值位为100011,即等于十进制数“-35”,这显然是错的结果。再比如,十进制数“+16”与“+19”的原码直接相减,得:00010000-00010011————11111101结果为“-125”,这又是错的。但是引入补码后,加减法都可以用加法来实现,如“-16+11”的运算:11110000+-16的补码0000101111的补码————11111011-5的补码如果是“-16-11”,那么就转化为加法运算“-16+(-11)”11110000+-16的补码11110101-11的补码————111100101-27的补码在字长为8位的系统中,最高位所产生的进位被自然丢弃,运算结果的机器数为11100101,是-27的补码形式,结果正确。顺便告诉你一些其它的东西:1.二进制数中,两数的补码之和等于两数和的补码。2.补码=反码+13.反码=原码除符号位外其它数值取反(即该数的绝对值取反),即“0”变“1”,“1”变“0”。4.任何正数的原码反码补码的形式完全相同(即都是自身,不变)5.在计算机中,有符号的数都是采用补码来表示的。6.计算的时候,符号位也参与运算。

Q5:-57的反码是11000110而补码是1100011不是应该在反码后加1吗变为110001101?

-57的补码是11000110,但是补码是11000111而不是11000111。补码后加1并不意味着加一个数字就变成110001103354,而是二进制相加就变成11000111。

Q6:十进制的7的二进制不是111吗?为什么题目在对其取反的时候答案写成00111,结果变成11000,得-8。

这取决于你想要多少比特。一般来说,整数数据以4字节存储,即32位。因此,当111存储在计算机中时,111之前应该有29个零组成一个整体,这是一个完整的二进制存储形式。所以否定是完全否定,即32个二进制数全部被否定。标题应该告诉你有多少位,或者暗示你标题中的数据应该存储在5位二进制数字中,有正、负字符。5位二进制数中的最高位用于正负标记,0代表正数,1代表负数,编码形式应采用原码形式。如果你不知道原码,再问一遍……不知道你知道多少,也不知道是哪门课。可能是数字电路或软件中补充问题的描述:这里需要注意的是,int数据一般是4字节(在32位操作系统中),也就是32位;当存储数据时,任何一位都是有意义的,所以当否定时,所有32位都应该被否定,而不仅仅是后面的位。~逐位求反相当于交换任何带符号数据的所有二进制位0和1。至于为什么不是-7而是-8,是因为计算机中存储的数据是以补码的形式存储的。关于补语的一些知识:http://ke.com/view/377340.htm另外,存储数据的方法包括原码和逆码,你可以自己在网上搜索。如有疑问,可直接联系我的QQ: 28842049。

版权声明:admin 发表于 2021年11月5日 上午10:09。
转载请注明:-35原码为什么不是1100011而是10100011,原码的范围 | 热豆腐网址之家

相关文章