gpt4 book ai didi

java - 在不使用库的情况下将一个基数中的数字转换为 Java 中的另一个基数

转载 作者:行者123 更新时间:2023-11-30 08:57:31 25 4
gpt4 key购买 nike

这不是家庭作业问题,我太老了不能做家庭作业:)

因此,理想情况下,我正在尝试将给定基数中的数字转换为另一个给定基数。

谁能分享逻辑,然后我可能会自己写代码。令人惊讶的是无法在网上找到任何东西。

最佳答案

答案取决于您是否可以使用原语,例如 intlong 来表示。

如果可以的话,该算法相当简单:将以 X 为基数的数字转换为原始表示形式,然后将该表示形式转换为以 Y 为基数。

要将数字转换为原始数字,请使用此算法:

  • 计算总计 res,并将其设为零
  • 从左到右遍历代表 X 基数的数字字符串
  • 将每个“数字”(可以用字母表示)转换为其数值
  • 将运行总数乘以X,然后将数字的数值加到它

要转换回来,使用这个算法:

  • 制作一个字符串生成器
  • 通过获取digit = num % Y去除最后一位的值
  • 将数字值转换为数字字符(可以是字母)
  • 将数字字符附加到字符串生成器
  • 使用 num/= Y 删除表示中的最后一位数
  • num 不为零时继续
  • 在字符串生成器中反转字符串

如果您的数字对于基元而言太大,例如 intlong,您需要构建一个类来保存大于基元的数字。我建议最初使用 BigInteger,然后将其替换为您自己的实现。

关于java - 在不使用库的情况下将一个基数中的数字转换为 Java 中的另一个基数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28124417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com