重複の可能性:
Cの文字でASCIIから16進数にどのように変換しますか?
私は、ASCIIコードで表される16進値を、16進値で表される数値に変換するのが好きです。
例として:
A5
0xA5
(165)に変換する必要があります
しかし、A5
で表されます(私が推測するASCII
ようなもの)0x4135
何か案は?どうも!
重複の可能性:
Cの文字でASCIIから16進数にどのように変換しますか?
私は、ASCIIコードで表される16進値を、16進値で表される数値に変換するのが好きです。
例として:
A5
0xA5
(165)に変換する必要があります
しかし、A5
で表されます(私が推測するASCII
ようなもの)0x4135
何か案は?どうも!
を使用しstrtol
ます。
long x = strtol("A5", 0, 16)
// x is now 165
利用可能な場合strtol
(標準ライブラリにあると思います)、strtol
16をベースとして使用するための呼び出しと同じくらい簡単なはずです。
char *end
val = strtol("A5", &end, 16)
もう 1 つの方法は、sscanf() を使用することです。
sscanf("A5", "%x", &bar);