java中的整数类型_java中整数类型的2进制表示

java中的4种整数类型:byte,short,int,long均采用补码表示。

如下图右边所示

0818b9ca8b590ca3270a3433284dd417.png

在java中对二进制数没有“字面”表示方法。十六进制可以用OX或者Ox指示,八进制可以用O指示。

下面的代码可以输出byte类型的数据的2进制表示形式:

public class Test {

public static void main(String[] args) {

byte a = -128;

test(a);

}

public static void test(byte m){

for(int i=7;i>=0;i--) {

if(((1<

System.out.print("1");

else

System.out.print("0");

}

System.out.println();

}

}

经测试

byte a = -128,

二进制表示形式为:1000 0000

byte a = -1,

二进制表示形式为:1111 1111

符合上图右边补码表示法。

同理测试short,int,long

故java的整数类型采用的是补码表示法。

在程序里面插入“字面值”,编译器通常能准确知道要生成什么样的类型。但是有些时候,对于类型却是暧昧不清的。若发生这种情况,必须对编译器加以适当的“指导”。方法是用字面值关联的字符形式加入一些额外的信息。 字面值后面的尾随字符可以指导编译器生成具体类型,若为大写或小写L,代表long;若为大写或小写F,代表float;若为大写或小写D,代表double。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值