GO二進位制字串轉十進位制數原生演算法

2021-09-18 01:48:48 字數 483 閱讀 8536

拿到乙個二進位制字串如何快速高效的轉化為十進位制數呢?如「111」如何轉成十進位制的7?

這個包呢也有其轉換方式,太多的部落格啊寫的都是這個包,但是他的耗時太長了,並且效能並不行,比如乙個包需要呼叫幾百萬幾千萬此這個包就吃力了

func str2dec(s string) (num int) 

return

}

再次優化執行耗時,用&運算。

func str2dec(s string) (num int) 

return

}

相比之下第二種方法比第一種快1/4,以上兩種都快,可以用一百萬次或一千萬次來計算耗時strconv包一百萬次的耗時是48-70ms,此演算法在1-10ms之間,需要看你傳遞的二進位制字元越長耗時越高

十進位制數轉二進位制字串

今天為了完成老師布置的乙個crc 迴圈冗餘校檢 的編碼作業,其中有乙個子程式是要從十進位制轉成二進位制字串顯示 不做不知道 做起來竟然除錯得我沒有脾氣 想不到以為很簡單,竟然是要考慮很多東西的哦呵 差點受打擊了 因為方便的原因用上到mfc裡的cstring類 十進位制轉二進位制 void ccrc ...

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...