muduo 高效整型轉換為字串

2021-09-28 20:41:22 字數 958 閱讀 7244

muduo中有一段高效的整形轉換為字串的演算法,這裡記錄一下(efficient integer to string conversions, by matthew wilson)

#include #include #includeconst char digits = "9876543210123456789";

const char* zero = digits + 9;//zero兩邊對稱,因為餘數可能為負數

const char digitshex = "0123456789abcdef";//十六進製制時使用

// efficient integer to string conversions, by matthew wilson.

void convert(char buf, int value)//把int轉為字串,

while (i != 0);

if (value < 0)

*p = '\0';

std::reverse(buf, p);//逆轉[buf p)

}void converthex(char buf, uintptr_t value)//轉為十六進製制字串

while (i != 0);

*p = '\0';

std::reverse(buf, p);

}int main()

; convert(str1,a);

printf("str1 =%s\n",str1);

int b = 0x111;

char str2[10] = ;

converthex(str2,b);

printf("str2 =%s\n",str2);

return 0;

}

執行:zero =3

str1 =-123

str2 =111

注意zero的用法,這裡的整形可能為負數

字串轉換為整型

在swift中,字串轉換為整型的方法有兩種,我們在這裡比較一下這兩種方法的區別 1 使用強制型別轉換,如下 var str 1234 var integer int str print integer 輸出1234 但如果換乙個字串 var str 123,4 var integer int str...

atoi 字串數字轉換為整型

實現字串中的數字轉換為整型,具體規則見原始碼注釋。gcc編譯通過。第一種 過程有些繁瑣 include 求冪 此處求冪也可以呼叫math.h中的函式pow 編譯時新增 lm 引數。double mypow double x,double y return tmp 轉化字串中的數字字元到整數。規則如下...

高效的將整型型別轉換為字串的方法

最近在專案中需要用到將數字轉換為字串,這裡主要記錄在使用過程中的一些思考。並且提供了乙個較高效的轉換實現。說到如何將數字轉換為字串,我們可能先想到的是c函式庫提供的snprintf等系列的函式或是c 庫提供的功能更為強大的stringstream物件來進行轉換。沒錯c函式庫提供的snprintf等系...