C++编程技巧—对数运算实现

C++编程技巧—对数运算实现可以调用 C C 中现成的算法库实现整数对数运算 比较高效的 64 位整数对数运算实现方法如下 intLog2 uint64 tn intresult if n amp 0xffffffff00 result 32 n 32 if n amp 0x00000000ff

可以调用C、C++中现成的算法库实现整数对数运算,比较高效的64位整数对数运算实现方法如下:

int Log2(uint64_t n) { int result; if( n & 0xffffffff00000000) { result +=32; n >>= 32; } if( n & 0x00000000ffff0000) { result +=16; n >>= 16; } if( n & 0x000000000000ff00) { result +=8; n >>= 8; } if( n & 0x00000000000000f0) { result +=4; n >>= 4; } if( n & 0x000000000000000c) { result +=2; n >>= 2; } if( n & 0x0000000000000002) { result +=1; n >>= 1; } }



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232968.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号