c++ 如何以10为基数进行二进制计数[已关闭]

yhived7q  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(129)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
四年前关闭了。
Improve this question
我想在c++中一个整数在二进制中向上计数,如:1,10,11,100,101,110,111但我希望值以10为基数,如:1,10,11,100,1001等等。基本上是十进制的,但是看起来像基数10。有算法可以做到这一点吗?

  • -约瑟夫
fiei3ece

fiei3ece1#

这是您应该如何继续:

  • 使用二进制值的字符串来显示它
  • 您应该实现一个循环,该循环将在数字达到0时结束,并且应该将currentValue%2的结果写入字符串的开头,然后将数字除以2
  • 你应该实现一个函数来返回人类可读的数字文本,你可能想从here中得到启发,但是一个线索是数字%3是相关的。如果它是0,那么如果它左边的数字不是1,你就需要写这个数字,所以11-19之间的值是一个例外,不要忘记千,百万,十亿,如果模是1,那么你将有一个特殊的文本,像十一,十九,二十,九十,如果模是2,那么文本将是数字+“百”

基本上,您将拥有一个数字,并能够从中获得二进制数以及文本表示。
字符串对于算法来说不是必需的,也可以cout一个std::bitset

相关问题