某所の「2の補数表現の16進数」の文字列を10進数の数値に変換するコードを見てなるほどと思った.まとめるとこんな関数になるだろうか.
long hexToDecimal(char c) { return hexToDecimal([c]); } long hexToDecimal(char[] str) { long sum; foreach(char c; str) sum = sum*16 + ((c|0x20)-'0')%('W'-'0'); return sum; }
%('W'-'0'); がポイントなのかなー.さすがです.誰かが言っているように std.string に入れてもらったらいいかもしれない.他にn進数からm進数へ変換する関数を作ったらなおよさそう.誰かやるかな?