- 論壇徽章:
- 0
|
十進(jìn)制數(shù)轉(zhuǎn)化為相應(yīng)十六進(jìn)制數(shù)字符串的辦法
第一種是使用itoa函數(shù)
函數(shù)原型如下
[color="#008000"]char * itoa ( int value, char * str, int base );value是要轉(zhuǎn)化的數(shù)字,str是轉(zhuǎn)化后的字符串存儲(chǔ)的位置,base是進(jìn)制數(shù)一個(gè)小的示例程序int main (){ int i; char buffer [33]; printf ("Enter a number: "); scanf ("%d",&i); itoa (i,buffer,10); printf ("decimal: %s\n",buffer); itoa (i,buffer,16); printf ("hexadecimal: %s\n",buffer); itoa (i,buffer,2); printf ("binary: %s\n",buffer); return 0;}但是這個(gè)函數(shù)不是標(biāo)準(zhǔn)C函數(shù),只被一些C++的編譯器支持。在Linux中也不能使用。另外一種方法
sprintf
(str,"%d",value) converts to decimal base.
sprintf
(str,"%x",value) converts to hexadecimal base.
sprintf
(str,"%o",value) converts to octal base.str是轉(zhuǎn)化存儲(chǔ)的位置,value是要轉(zhuǎn)化的數(shù)字。上面三個(gè)函數(shù)分別是10進(jìn)制,16進(jìn)制和8進(jìn)制的轉(zhuǎn)化。
這種方法比較好,可以在Linux下使用。
[color="#008000"]
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u2/83134/showart_1713426.html |
|