我需要将值存储到int类型的变量,但int是不够的?

问题描述 投票:-3回答:2

我在Android应用程序中开始了一个新的项目,用Java调用BasesConvertor

所以我的问题是: - 将Base 10转换为其他基础我需要将值存储到int类型的变量但int不够Max int size是:2,147,483,647

  • 十六进制的小值等于十进制的大值ex:FFFFFFFFFFFF(16)= 281 474 976 710 655(10)
java int size
2个回答
2
投票

在这种情况下,72057594037927702太长了intlong。你将不得不使用BigInteger

BigInteger i = new BigInteger("72057594037927702");

编辑:

如果要使用加法,减法,乘法,除法等数学运算,则需要使用BigInteger类中的预定义方法:

BigInteger i = new BigInteger("72057594037927702");
System.out.println(i);
//  Add five
i = i.add(new BigInteger("5"));
System.out.println(i);
// Take tree
i = i.subtract(new BigInteger("3"));
System.out.println(i);
// Four times
i = i.multiply(new BigInteger("5"));
System.out.println(i);
// Divided among 2
i = i.divide(new BigInteger("2"));
System.out.println(i);

/*
 * Output:
 *      72057594037927702
 *      72057594037927707
 *      72057594037927704
 *      360287970189638520
 *      180143985094819260
 */

-1
投票

您可以尝试将值存储在不同的数据类型中,比如说double会执行并查看此图表可能会有所帮助

http://cs-fundamentals.com/java-programming/java-primitive-data-types.php

此图表包含所有数据类型及其限制

© www.soinside.com 2019 - 2024. All rights reserved.