日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RISC-V踩坑记----__builtin_clz((x)库函数的应用

發(fā)布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RISC-V踩坑记----__builtin_clz((x)库函数的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  RISC-V的確是個好東西,可是,免費(fèi)的東西往往需要付出代價(jià)才能得到了,最近遇到了一個算法中的問題,追了好久,最終追到了這個庫函數(shù)中,沒想到,這個庫函數(shù)居然還隱藏著一些貓膩。值得記下來啊。

首先上一個在X86平臺下的例子:

  ?1 #include <stdio.h>

2 /* Position of the most significant bit of x */ 3 #define gap8_fl1(x) (31 - __builtin_clz((x))) 4 5 static int array[32]; 6 int main() 7 { 8 int test = 0xFFFFF00; 9 10 while(test > 0) 11 { 12 test = test>>1; 13 printf("test:%x gap8:%d \n",test,gap8_fl1(test)); 14 } 21 22 return 0; 23 } 24 ~

  這個是編譯器的庫函數(shù),表示要獲取你輸入?yún)?shù)的位數(shù)。

測試結(jié)果:

test:7ffff80 gap8:26 test:3ffffc0 gap8:25 test:1ffffe0 gap8:24 test:fffff0 gap8:23 test:7ffff8 gap8:22 test:3ffffc gap8:21 test:1ffffe gap8:20 test:fffff gap8:19 test:7ffff gap8:18 test:3ffff gap8:17 test:1ffff gap8:16 test:ffff gap8:15 test:7fff gap8:14 test:3fff gap8:13 test:1fff gap8:12 test:fff gap8:11 test:7ff gap8:10 test:3ff gap8:9 test:1ff gap8:8 test:ff gap8:7 test:7f gap8:6 test:3f gap8:5 test:1f gap8:4 test:f gap8:3 test:7 gap8:2 test:3 gap8:1 test:1 gap8:0 test:0 gap8:0

  讓我們再看一下在RISC-V平臺下的打印:

test:7ffff80 gap8:26 test:3ffffc0 gap8:25 test:1ffffe0 gap8:24 test:fffff0 gap8:23 test:7ffff8 gap8:22 test:3ffffc gap8:21 test:1ffffe gap8:20 test:fffff gap8:19 test:7ffff gap8:18 test:3ffff gap8:17 test:1ffff gap8:16 test:ffff gap8:15 test:7fff gap8:14 test:3fff gap8:13 test:1fff gap8:12 test:fff gap8:11 test:7ff gap8:10 test:3ff gap8:9 test:1ff gap8:8 test:ff gap8:7 test:7f gap8:6 test:3f gap8:5 test:1f gap8:4 test:f gap8:3 test:7 gap8:2 test:3 gap8:1 test:1 gap8:0 test:0 gap8:32

  這里就有一個差別,就是當(dāng)x等于0的時候,__builtin_clz((x)的值在risc-v中居然是-1,這個坑真是的不小啊。算是學(xué)習(xí)了。

轉(zhuǎn)載于:https://www.cnblogs.com/dylancao/p/9936807.html

總結(jié)

以上是生活随笔為你收集整理的RISC-V踩坑记----__builtin_clz((x)库函数的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。