本文目录一览:
- 1、有关Java 中补码的问题
- 2、关于JAVA二进制补码
- 3、JAVA中原码 反码 补码是什么意思?
- 4、java 中的 ~ 取补码的详细意思是什么 ?
- 5、java的补码是 什么,补码的概念是什么
- 6、java求补码
有关Java 中补码的问题
详细过程如下:
⑴2的补码为0000 0010
按位求反后变为1111 1101
因为此数为负数,将这个结果从补码变为原码:
1、先求反,最高位(符号位)不变:1000 0010
2、再加1:1000 0011;
结果即为-3
⑵-3的原码为1000 0011
补码为1111 1101
按位求反后得到:0000 0010
因为此数为正数,所以原码就是其本身:0000 0010
结果即为2
关键是要理解运算时都是用补码形式,而求反符号是按位求反,因此符号位也改变了。
关于JAVA二进制补码
首先对十进制的整型数据转化为二进制,如果整型是负的,求得的二进制取反再加上1就是补码,如果是正数,其补码就是本身。
JAVA中原码 反码 补码是什么意思?
反码是将其2进制数每一位按位取反。
即1改为0,0改为1.
补码则不同。
正数的补码是其源码本身
负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变。
例如:
10进制数11:
源码:00001011;
反码:11110100;
补码:00001011;
十进制数-11:
源码:10001011;
反码:01110100;
补码:11110101;
java 中的 ~ 取补码的详细意思是什么 ?
~就是取反的意思。就是把那个数字的二进制位,原来是0的变为1,原来是1的变为0.而二进制补码表示的数字(现在的计算机几乎都是用的二进制补码来表示的)进行这样的操作就等于取相反数再减一。所以~5就是-5-1=-6.而后面那个~a-b就是~5-3,而~5=-6所以就是-6-3=-9了。
对于二进制补码的数字的操作,如果你是学计算机专业的学生,那么会在计算机基础之类的课程里面学的。如果不是学计算机专业的,知道这个结论就可以了。
java的补码是 什么,补码的概念是什么
java 的补码是什么? 不知道。
补码,是计算机底层的知识。
java,是高级语言。
两者,没有交集。
java求补码
~在c和java语言中都是求反码,或者叫位非NOT运算。
java的运算有特殊性:
4的二进制为100,
执行~4后转换成32位有符号整型(int),值为11111111111111111111111111111011
打印时,按有符号解释成-5。
C语言的运算和java大类相同,但要注意几点
1、注意意无符号的情况。unsigned int i=~4;的值就是4294967291
2、注意变量的数据长度。在c中,char和char之间,short和short之间,long和long之间的加减都按本身定义的长短。而不像java都统一转换成32位int后进行运算
3、注意显示时符号的有无。printf中的%d和%u对显示结果就有本质区别