首页 > 编程知识 正文

正数的反码与源码相等,java原码反码补码

时间:2023-05-03 21:39:53 阅读:119382 作者:3626

[Java教程]源代码、反码、补码(正数)

0 2017-10-14 12:00:15

以一个字节为例

1、无符号位,每字节可存储0~255共256个数字; 有符号位存储-128~127共计256个数字

2、无符号均用正数表示; 有符号位时,开头表示正负数,正首位为0,负首位为1。 (因此,在判断一个数是正还是负时先看前面,正的情况直接计算,负的情况下求出反码,源代码) ) )。

以下是默认的有符号位的示例

3、首先,要知道计算机中的正数用源代码表示,负数用该正数的补数表示,补码是源代码的反码加1。 -1是1的反码加上1。

1:0000 0001

-1:1111 1111

1到-1的计算过程: 0000 0001取反码为1111 1110

1111 1110 1是补数1111 1111

因此,-1表示为1111 1111

4、给负数,要求用二进制表示

第一,首先判断这个负数是否溢出。 (不分正负进行判断。 溢出时无法显示。 尝试强制转换会导致数据不一致,导致原始数据丢失。

如果没有溢出,则下一步;

第二,首先用二进制表示对应绝对值(正数)的二进制代码。

第三,根据源代码求反码,源代码相反(~源代码);

第四,根据反码求补数表示负数,反码1;

5、给负数的二进制数,求出那个二进制数表示的负数是什么

第一,先求补数,其负数二进制-1;

第二,根据补数求源代码,补数相反(~补数);

第三,计算源代码为代表数;

关于对牛客网主题的理解(正确答案为b ) ) ) ) ) ) ) ) ) ) ) 652 ) ) ) ) ) ) )

前言:一切按照上诉四、五计算;

例如,4 )正数溢出时,他将源代码表示为先(扩展后)本来只有1字节,但不能进入时扩展后用2字节表示),从低位开始切取,判断正负进行计算);

如果负数溢出,他将显示源代码,根据规则计算完成代码,最后剪切并保存。 因为剪切后数值会发生变化,所以显示的不是原来的数量。 因为如果有几个自己根据规则计算回去的话,也会有加分的时候。

所以这个问题是我这么做的:

a为短型,因此共有16位,表示128为0000 0000 1000 0000

b是byte类型,共8位,如果强制转换a,则为1000 0000

为什么1000 0000表示-128,我自己的理解是,首先,开头是1表示负数,负数表示补数,所以1000 0000是补数

补数-1是反码,即0111 1111

翻转为1000 0000

1000 0000表示的正值为27=128。 (这样也符合正负数的表示方法,数学上也能理解意思。 用16位的10000000 00000000表示-32768等也是这个理由。 )所以1000 0000表示-128

总结:因此,我认为在用负数二进制求该表示的个数时,最后出现源代码后,应该求源代码表示的正值,而1000 0000在byte中是特别的。 因为那个补码和源代码一样,所以最后出源代码的时候会变得无知,但是记住那个时候应该求正值就可以了。 以后用这个计算方法计算就可以了,记住这个网站吧。 http://www.Shao qun.com/a/329179.html

*特别声明:上述内容来自互联网,版权归原作者所有。 如有侵权,请联系admin@shaoqun.com。

0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。