C 程序 - 求 2 的指数的最简单方法是什么

标签 c algorithm

n = 2 ^ x

我知道 n 的值,找到 x 的值的有效方法是什么? ?

最佳答案

假设您的意思是 n = 2x,则这称为以 2 为底的对数

在 C 语言中你可以这样写:

double n = 512;
// ...
double x = log(n) / log(2);  // 9

该公式适用于任何基数(将 2 替换为基数)。正如 Kii 所指出的,从 C99 开始,实际上有一个专门针对基 2 的函数。 :

double x = log2(n);

请注意,使用 <tgmath.h>而不是<math.h>将启用您正在使用的浮点类型的自动检测。

关于C 程序 - 求 2 的指数的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32581069/

相关文章:

c++ - 大小为 500000 的部分排序数组的快速排序段错误

algorithm - 顺时针旋转矩阵 90*n 度

r - 给定某些约束条件 R 选择大小为 k 的最优子集

c - 了解 TCL C API 中的结构

使用 sem_trywait() 会导致死锁

c - 仅使用 RSA 加密来加密长文本字符串

将边缘列表转换为 C 中的压缩稀疏行

c++ - 部分降序排列

c - linux 中的 C 程序是否获得 PID?

regex - 将有限状态机转换为正则表达式