Linux 拨号vps windows公众号手机端

c语言lg函数如何表示

lewis 8年前 (2017-09-07) 阅读数 6 #程序编程
文章标签 c语言

在C语言中,可以使用lg函数来表示一个数的二进制位数减1。一种常见的实现方式如下:

int lg(int n) {
    int count = 0;  // 计数器,记录二进制位数减1
    while (n > 1) { // 当n大于1时,继续右移
        n >>= 1;    // 右移一位
        count++;    // 计数器加1
    }
    return count;   // 返回二进制位数减1
}

这个函数的原理是每次将n右移一位,同时计数器加1,直到n不大于1为止。最终返回的就是n的二进制位数减1。

例如,如果调用lg(8),由于二进制表示为1000,共有4位,因此函数返回3

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门