java获取15的二进制方法,java获取整形int的二进制码(补码)的方法

java本身已经提供了获取整形int的二进制码的方法Integer.toBinaryString(i)

但是如果该方法的入参i为正数,则获取到的二进制码前方不会有0,也就是长度不一定是32位。而负数因为首位符号位必定是1所以不会有这个问题。那么我们则需要针对正数的情况进行补0操作。以下是我补零的函数以及相应的测试代码,仅供参考:public class Test {

public static void main(String[] args) {

System.out.println(getBinaryString(1));

System.out.println(getBinaryString(-1));

System.out.println(getBinaryString(8));

System.out.println(getBinaryString(-8));

System.out.println(getBinaryString(100));

System.out.println(getBinaryString(1000));

System.out.println(getBinaryString(Integer.MAX_VALUE));

System.out.println(getBinaryString(Integer.MIN_VALUE));

}

/**

* 0的二进制表达,32个0,作用为给正整数左边补零用

*/

private static final String ZERO_STR = "00000000000000000000000000000000";

/**

* 获取整形num的二进制

* @param num

* @return

*/

private static String getBinaryString(int num) {

String s = Integer.toBinaryString(num);

return ZERO_STR.substring(s.length()) + s;

}

}

测试结果:00000000000000000000000000000001

11111111111111111111111111111111

00000000000000000000000000001000

11111111111111111111111111111000

00000000000000000000000001100100

00000000000000000000001111101000

01111111111111111111111111111111

10000000000000000000000000000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值