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
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
一部の人々は、変換が自動的であるとコメントしています。試してみてください:
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);
' ASCIIコードの0x30は正確にchar '' 0 ''です。私はポイントを得ることができません!だから、 '0x30はchar 0、intは48 'だと思う。 –
あなたの質問は何ですか?私はちょうど変換がそれぞれintとcharに自動であることを示しています。 – kabanus
の可能性のある重複した[なぜ、0xを接頭16進数です?](http://stackoverflow.com/questions/2670639/why-are-hexadecimal-numbers-prefixed-with-0x) – Nikita
16進数と10進数は、数字の表示方法のみです。とにかくバイナリに保存されています。そして、あなたは変換を必要としません、それはすべて "自動"です。 'unsigned int'として' length_hex'を出力して結果を見てみてください。 –
あなたは基本的に自分の質問に最後の行で答えましたか? :) –