java整形数值表示--基础

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

java整形数值采用补码表示,基本类型有byte、short、int、long。每个类型的最高位是符号位,以最简单的byte为例,比如1和-1的二进制表示分别为00000001和11111111,用算术表示分别为dcab1a6b86cdbff74926132b7a5d0ee28dc.jpg6d11714c5d9ea900c81ce80a1229c541a05.jpg

这样表示的好处也是显而易见的,当求两个数的差,可以直接求和,如1-1就是0。但是如果用原码表示法就是00000001+10000001就会变成

10000010,从而导致了错误的结果-2,很明显用原码进行整数减法时需要特殊处理,这样降低了运算效率。

转载于:https://my.oschina.net/u/1268334/blog/1935109

你可能感兴趣的:(java整形数值表示--基础)