c - 如何以 10 以外的基数进行数学运算?

标签 c algorithm

<分区>

我想直接将二进制数转换为八进制数而不转换为基数 10,我在 math.stackexchange.com 上找到了一些解决方案,但它们需要在该基数本身(不是 10)中完成操作,所以有以 10 以外的基数进行运算的方法或算法? 我需要知道如何将数字从任意基数转换为任意基数。

最佳答案

将二进制转换为八进制(反之亦然)相当容易,因为 2^3=8。

这意味着您只需从最低有效位到最高有效位,并将每组 3 位“转换”为其各自的数字。

示例:

101 100 110:

110 -> 6
100 -> 4
101 -> 5

转换为八进制现在只需 546。

关于c - 如何以 10 以外的基数进行数学运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917155/

相关文章:

algorithm - 在图中找到任意大权重的路径

algorithm - 什么是位移矢量?

algorithm - Line(x1,y1,x2,y2) 只需要使用 PutPixel(x,y) 示例吗?

c - "Error: unknown type name"- 在函数声明中使用结构别名

c++ - 打印包含指定子字符串的所有字符串

c - sprintf 损坏 IAR 微 Controller 中的数组

c - 即使未执行写入操作,内容也会写入文件

c++ - OpenCV OpenGLDrawCallback 没有被调用

algorithm - 使用动态规划时,捕获整个路径以获得最小和?

algorithm - 确定同余系统是否有解