高效位運算 builtin

2022-02-27 06:10:20 字數 485 閱讀 6945

•int __builtin_ffs (unsigned int x)

返回x的最後一位1的是從後向前第幾位,比如7368(1110011001000)返回4。

•int __builtin_clz (unsigned int x)

返回前導的0的個數。

•int __builtin_ctz (unsigned int x)

返回後面的0個個數,和__builtin_clz相對。

•int __builtin_popcount (unsigned int x)

返回二進位制表示中1的個數。

•int __builtin_parity (unsigned int x)

返回x的奇偶校驗位,也就是x的1的個數模2的結果。

此外,這些函式都有相應的usigned long和usigned long long版本,只需要在函式名後面加上l或ll就可以了,比如int __builtin_clzll。

高效位運算builtin函式

該函式時判斷n的二進位制中有多少個1 int n 15 二進位制為1111 cout builtin popcount n 該函式是判斷n的二進位制中1的個數的奇偶性 int n 15 二進位制為1111 int m 7 111 cout builtin parity n 該函式判斷n的二進位制末尾...

C 高效位運算函式 之 builtin

1.builtin popcount n 該函式時判斷n的二進位制中有多少個1 int n 15 二進位制為1111 cout builtin popcount n 該函式是判斷n的二進位制中1的個數的奇偶性 int n 15 二進位制為1111 int m 7 111 cout builtin p...

位運算(1) 初識位運算

前段時間數電課學了些進製轉換,還有與或非等邏輯運算,如今再來看看位運算,倒輕鬆了不少。很早就想寫些非總結性部落格了,奈何還是太懶。也也不知怎的突然又來了興致,趕忙寫下這篇部落格。廢話不多說,今天準備總結總結關於位運算的知識。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的,即0 1兩種狀態,...