永发信息网

关于JAVA 中取反问题 求助

答案:3  悬赏:70  手机版
解决时间 2021-03-04 18:35
比如 int i=5;
那么 ~i是多少??
i弄成 二进制 是 0000 0000 0000 0000 0000 0000 0000 0101 对吧?
那~i 是好多
1111 1111 1111 1111 1111 1111 111 1010 这样对不对
然后????~~~~就搞不懂,书上例子 越看越糊涂, 麻烦 高手 教教~~~

在线 等候~~~~~
最佳答案
先要理解一些概念:
在2进制中,负数是以它正值的补码形式表达
原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

比如 0000 0000 0000 0000 0000 0000 0000 0101是 5的 原码。
反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反操作指:原为1,得0;原为0,得1。(1变0; 0变1)

比如:将5的二进制表达式的每一位取反,得
1111 1111 1111 1111 1111 1111 1111 1010
称:1111 1111 1111 1111 1111 1111 1111 1010 是 0000 0000 0000 0000 0000 0000 0000 0101 的反码。

反码是相互的,所以也可称:

1111 1111 1111 1111 1111 1111 1111 1010 和 0000 0000 0000 0000 0000 0000 0000 0101 互为反码。

补码:反码加1称为补码。
也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。
那么,5的补码为:

1111 1111 1111 1111 1111 1111 1111 1010 + 1 =
1111 1111 1111 1111 1111 1111 1111 1011

所以,-5 在计算机中的二进制表达为:
1111 1111 1111 1111 1111 1111 1111 1011
转换为十六进制:0xFFFFFFFB。

====================================

明白了上面的就可以理解怎么求 ~i 了
int型储存32个二进制位,~这个符号是按位取反,就是求i的反码。
即得到1111 1111 1111 1111 1111 1111 1111 1010
上面这串二进制代表一个负数,将它转换成int型过程如下:

1111 1111 1111 1111 1111 1111 1111 1010-1 =
1111 1111 1111 1111 1111 1111 1111 1001

再求反:

0000 0000 0000 0000 0000 0000 0000 0110

这个值就是5的按位取反所得到的int整数的绝对值(注意:5按位取反得到的是负数)

所以转换为int型为:6
即:int型的i=5 取反后的结果为-6
全部回答
java 是有有符号整数都是用 补码 来表示 整数的 原码,反码,补码 都是本身。 负数的原码: 原码就是这个数二进制表示形式。 负数的反码:除最高位符号位0代表整数,1代表负数,其余各位取反。 负数的补码:反码+1。 5 原码:0000 0000 0000 0000 0000 0000 0000 0101 取反以后:
呵呵 你要是知道Java怎么表示负数这个问题就简单了 在Java中负数是用整数的补码表示的 补码就是取反+1 比如数A 那么-A就是 ~A+1 所以 ~i=-5-1=-6
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
侠盗猎车手圣安地列斯水下袭击怎么才能水下锻
20寸行李箱一般都什么价位
我25岁,最近一两年,发现自己说话的时候很费
()的特点是灵活机动、成本低、使用最广泛,一
六道几时写坏蛋3啊??主角还是不是谢文东??
对德艺双馨人评价对联
请帮忙取两个英文名:女生是H开头 男生是T开
一个数的3倍,加上这个数的2倍等于90,这个数是
刚刚买回来的活虾是马上煮熟好还是放在冰箱等
保护性拆除怎么套定额
AMD+Athlon+II+X3+460/盒装配甚么主板
【省直辖市设区的市的人大代表由】...的直辖
腿长如何发挥出跑步快的优势?
通用电气公司的发展历程
服装制作工艺有哪些
推荐资讯
对上级公安机关或相邻市(县)公安局转办或移交
【蟋蟀的住宅主要内容】蟋蟀的住宅的主要内容
英雄联盟日语包怎么用
扶阳派的介绍
举什么投什么
戴家湾村怎么去啊,有知道地址的么
山东省高考济南分数线低于其他城市吗?
推荐语是什么意思
法院强制执行后,公司公账上没钱,如何去找老
开原到普兰店有没有高铁或动车?
4种做法的鸽子汤,鸽子肉有什么好处
法国学者费奈隆在提到雅典时说:“民众支配雅
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?