0

重複の可能性:
Cの文字でASCIIから16進数にどのように変換しますか?

私は、ASCIIコードで表される16進値を、16進値で表される数値に変換するのが好きです。

例として:

A50xA5(165)に変換する必要があります

しかし、A5で表されます(私が推測するASCIIようなもの)0x4135

何か案は?どうも!

4

3 に答える 3

2

を使用しstrtolます。

long x = strtol("A5", 0, 16)
// x is now 165
于 2012-10-09T10:11:45.637 に答える
2

利用可能な場合strtol(標準ライブラリにあると思います)、strtol16をベースとして使用するための呼び出しと同じくらい簡単なはずです。

char *end
val = strtol("A5", &end, 16)
于 2012-10-09T10:11:52.343 に答える
1

もう 1 つの方法は、sscanf() を使用することです。

sscanf("A5", "%x", &bar);
于 2012-10-09T10:58:11.183 に答える