首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Base-10转换为Base-9的Java代码

将Base-10转换为Base-9的Java代码
EN

Stack Overflow用户
提问于 2010-10-08 15:48:55
回答 6查看 11.1K关注 0票数 4

如何将以10为基数的长数转换为以9为基数,而不转换为字符串?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-08 16:40:11

顺便说一句,在你的机器中,所有的值实际上都是以2为基数的(我打赌你已经知道了)。它只显示为基数10,因为字符串转换创建了基数10的字符串表示形式(例如,当你打印时),因为像parseLong这样的方法假设输入的字符串是基数10,而且当你实际编写代码时,编译器希望所有的文字都在基数10中。换句话说,所有的东西都是二进制的,为了我们人类的方便,计算机只在基数10之间来回转换。

因此,我们应该能够轻松地将输出基数更改为10以外的值,从而获得基数为9的相同值的字符串表示。在Java语言中,这是通过将一个可选的额外基数参数传递到Long.toString方法来实现的。

代码语言:javascript
复制
long x=10;
System.out.println(Long.toString(x,9));
票数 8
EN

Stack Overflow用户

发布于 2010-10-08 15:50:42

代码语言:javascript
复制
Long base10 = 10;
Long.valueOf(base10.toString(), 9);
票数 6
EN

Stack Overflow用户

发布于 2010-10-08 16:13:56

“转换为基数9而不转换为字符串”到底是什么意思?

基数-9、基数-10、基数-2(二进制)、基数-16(十六进制)只是表示数的方式。值本身并不取决于您如何表示它。就编译器而言,int x = 256int x = 0xff完全相同。

如果您不想“转换为字符串”(我将其理解为您不关心值的表示形式),那么您到底想要做什么?

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3888613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档