質問: 16進数の文字列 16進数の文字列をそれと同値な整数値へ変換する関数をかけという問題なのですが、 この場合文字列を読み込んで、例えば読み込んだ値がabだとした場合、 a*16の1乗+b*16の0乗 を計算する関数を作ればよいのだと思うんですが、 それぞれの値をべき乗する関数も必要になってくると考えています。 そこで問題なのですが、べき乗の関数を作ったとして、それぞれの値(こんかいはaとb)にそれぞれのべき乗した値をかけてやるには、どういった方法があるのでしょうか? 回答よろしくお願いします。
回答: >c-'0' と言う部分なんですが、 cは文字コードになっていることはわかりますよね。 '0'は、'0'の文字コード(asciiコードで0x30=48)です。 asciiコードでは、'0','1',...と並んでいるので'0'~'9'のコードなら そのコード(c)から'0'のコードを引くと文字を数値に変換したことになりますよね。 ・'0'-'0'=0 ・'1'-'0'=1 ... ・'9'-'0'=9 'a'~'f'の部分は自分で考えてください。(ほとんど同じですが)