【发布时间】:2014-12-10 08:42:34
【问题描述】:
什么数据类型适合给定的 20 位数字,例如 12111111111111111111,并且可以转换为二进制?
我试过long,但它超出了范围。
【问题讨论】:
-
要获取二进制字符串,您可以调用 BigInteger.toString(2)
标签: java
什么数据类型适合给定的 20 位数字,例如 12111111111111111111,并且可以转换为二进制?
我试过long,但它超出了范围。
【问题讨论】:
标签: java
试试这个:
BigInteger b1 = new BigInteger("12111111111111111111");
BigInteger b2 = new BigInteger("12111111111111111112");
System.out.println(b1.add(b2));
System.out.println(" binary format of b1 is : " + b1.toString(2));
【讨论】:
java.math.BigInteger 用于“不可变的任意精度整数” - 应该完全满足您的需求。
【讨论】:
你可以使用 bigInteger,它具有你想要的数字的大长度。
试试这个。
java.math.BigInteger bignumber = new BigInteger("1211111111111255511236");
希望这会有所帮助。
【讨论】: