偏方 十轉二,判斷整數字數

2021-09-30 13:45:59 字數 1494 閱讀 8857

c語言itoa()函式和atoi()函式詳解(整數轉字元c實現)

c語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串。

1.int/float to string/array:

c語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串,下面列舉了各函式的方法及其說明。

● itoa():將整型值轉換為字串。

● ltoa():將長整型值轉換為字串。

● ultoa():將無符號長整型值轉換為字串。

● gcvt():將浮點型數轉換為字串,取四捨五入。

● ecvt():將雙精度浮點型值轉換為字串,轉換結果中不包含十進位制小數點。

● fcvt():指定位數為轉換精度,其餘同ecvt()。

除此外,還可以使用sprintf系列函式把數字轉換成字串,其比itoa()系列函式執行速度慢

string/array to int/float

c/c++語言提供了幾個標準庫函式,可以將字串轉換為任意型別(整型、長整型、浮點型等)。

● atof():將字串轉換為雙精度浮點型值。

● atoi():將字串轉換為整型值。

● atol():將字串轉換為長整型值。

● strtod():將字串轉換為雙精度浮點型值,並報告不能被轉換的所有剩餘數字。

● strtol():將字串轉換為長整值,並報告不能被轉換的所有剩餘數字。

● strtoul():將字串轉換為無符號長整型值,並報告不能被轉換的所有剩餘數字。

以下是用itoa()函式將整數轉換為字串的乙個例子:

# include 

# include

void main (void)

itoa()函式有3個引數:第乙個引數是要轉換的數字,第二個引數是要寫入轉換結果的目標字串,第三個引數是轉移數字時所用 的基數。在上例中,轉換基數為10。10:十進位制;2:二進位制…

itoa並不是乙個標準的c函式,它是windows特有的,如果要寫跨平台的程式,請用sprintf。是windows平台下擴充套件的,標準庫中有sprintf,功能比這個更強,用法跟printf類似:

char str[255];

sprintf(str, 「%x」, 100); //將100轉為16進製表示的字串。

itoa() 將整型值轉換為字串

ltoa() 將長整型值轉換為字串

ultoa() 將無符號長整型值轉換為字串

void main()

int b;

scanf("%d", &b);

char st[32];

getchar();

printf("您輸入的數字一共有%d位", strlen(_itoa(b, st, 10)));

getchar();

理解十進位制整數轉二進位制整數

演算法 第四版 中的習題 1.3.5 中有這樣一段 stacks new stack while n 0 for int d s system.out.print d system.out.println 其作用是列印十進位制整數 n 的二進位制表示。下面解釋該演算法背後的道理。為簡化問題,預設輸入...

1039 十進位制整數轉二進位制

給出乙個十進位制的非負整數x,x 216,把它轉換成二進位制數輸出。輸入為多行,每行乙個整數x,至讀入eof結束。每行輸出x對應的二進位制數值。01 3336553501 11100001 1111111111111111 本題有多種解法 可以用迴圈迭代對2的除法和取餘操作,不過處理的順序與輸出順序...

數值轉換 十進位制正整數轉二進位制

今天朋友去面試,問到一基礎題,實現正整數到二進位制的轉換。因為對基礎掌握的不牢,此題並未能做出正確解答。我在給他講解一番後,他恍然大悟。對於十進位制正整數到二進位制的轉換其實很簡單,用2輾轉相除至結果為1,將餘數和最後的1從下向上倒序寫,就是整數所對應的二進位制值。例如5的二進位制就是101 如圖 ...