2016-11-09 28 views
1

HEX値を持つ可変長のunsigned charをDEC値の変数intに変換する方法。私は持っている:unsigned char 16進数からint decへの変換C++

unsigned char length_hex = 0x30; // HEX 

どのようにint DECに変換するのですか?

int length_dec = length_hex; // With result length_dec = 48 
+0

の可能性のある重複した[なぜ、0xを接頭16進数です?](http://stackoverflow.com/questions/2670639/why-are-hexadecimal-numbers-prefixed-with-0x) – Nikita

+0

16進数と10進数は、数字の表示方法のみです。とにかくバイナリに保存されています。そして、あなたは変換を必要としません、それはすべて "自動"です。 'unsigned int'として' length_hex'を出力して結果を見てみてください。 –

+1

あなたは基本的に自分の質問に最後の行で答えましたか? :) –

答えて

0

一部の人々は、変換が自動的であるとコメントしています。試してみてください:

int main (void) 
{ 
    unsigned char length_hex = 0x30; 
    printf("0x30 is char:%c and int:%d.",length_hex,length_hex); 
    return 0; 
} 

とあなたが得るものを見る - 私は保存する場合は、文字に変換するとき、それは「0」(文字0)だとintとして、それはまた48です、それは本当に問題ではありません。定数0x30をintまたはcharとして指定します。ただ、見て:

printf("0x30 is char:%c and int:%d.",0x30,0x30); 
+0

' ASCIIコードの0x30は正確にchar '' 0 ''です。私はポイントを得ることができません!だから、 '0x30はchar 0、intは48 'だと思う。 –

+0

あなたの質問は何ですか?私はちょうど変換がそれぞれintとcharに自動であることを示しています。 – kabanus

関連する問題