java中数值型对象的二进制表示 ——Thinking in Java学习笔记(四)

在java中,二进制数没有直接的常量表示法。但是,在使用十六进制或者八进制记数法的时候,使用二进制显示无疑会直观很多。通常在这种情况下,可以使用Integer或者LongtoBinaryString()方法来实现。

// 在数字前加0x修饰,表示十六进制记数
long l1 = 0xffff;
// 在数字前加0修饰,表示八进制记数
long l2 = 07777;
// 二进制显示
System.out.println(Long.toBinaryString(l1));
System.out.println(Long.toBinaryString(l2));
int l3 = 01111;
System.out.println(Integer.toBinaryString(l3));

但这样就产生了一个问题,IntegerLong都有toBinaryString()方法,那么短整型short类型的数据想转换成二进制显示怎么办呢?

这里就涉及到Integer.toBinaryString()方法的自带转型的问题了,将短整型short类型的数据传入Integer.toBinaryString()方法,会自动将改数据转换为int类型。

// short传入了Integer.toBinaryString方法时,会自动转换成int
short l4 = 01111;
System.out.println(Integer.toBinaryString(l4));
// 但这种改变只会在toBinaryString方法中有效,不会改变对象本身的数据类型
short l5 = l4;

但这种类型转换和parseInt()方法有区别,toBinaryString()方法的类型转换只在当前方法中有效,并且只对short类型有效,对long类型不能进行转换,而且不会改变对象自身的类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值