01 / 例
例
0xFF255テキストとコード / MULTIVERTO
十六進整数を正確な十進整数として読みます。
01 / 例
0xFF25502 / ガイド
十六進数で書かれた整数を、正確な十進整数として読み取ります。デバッグログ、メモリマップ、仕様書にある十六進数の値を十進数で確かめたいときに使えます。FF と 0xFF のどちらも入力でき、A~F の大文字と小文字は同じ値を表します。先頭の 0x は進数を示す印であり、数値に加算されません。
十六進の各桁には位に応じた十六のべき乗が掛かり、任意の 0x 接頭辞は表記の底を示します。FF では左の F が十五に十六を掛けた値、右の F が十五で、合計は 255 です。ツールは BigInt を用いるため、JavaScript の安全な浮動小数点整数範囲を超える値でも正確な整数を返します。先頭の負号は数学的な負号として残り、固定幅の符号付き数を復号する処理は行いません。
16 進数の各桁を、右から数えた位置に応じて 16 の累乗で重み付けし、値を展開します。符号は別に書かれます。ここでの結果は固定ビット幅の 2 の補数による機械語整数ではありません。これらの変換は整数を扱い、BigInt によって桁数の多い値でも精度を保持するため、通常の浮動小数点数のように下位ビットが黙って失われることはありません。先頭のマイナス記号は数学的な負の整数を示します。固定ビット幅の 2 の補数によるバイト列ではありません。機械でマイナス 1 を表すビット列は、8、16、32 ビットなど、使用する幅で変わります。プロトコルで必要なら、幅と符号化の規則を別途指定してください。整数の 2 進数表記と、その数字を文字として書いたときの UTF-8 バイトの 2 進数表記を混同しないでください。
0x10 では先頭の 1 が十六を表し、末尾のゼロは値に寄与しないため、十進数の値は 10 ではなく 16 です。先頭の 0x や英字の大小文字は値を変えません。このツールが読むのは数学的な整数であり、HEX カラー、メモリダンプのバイト順、固定幅の二の補数で表した符号付き値を解釈するものではありません。レジスターの仕様にビット幅が示されているなら、まずその表現を復号するか、後で符号付きとして解釈できるよう元のビット列を残してください。デバッグの記録に両方の表記を残すと、誤りを追いやすくなります。
具体例として 0xFF を入力すると 255 が得られます。別のアプリケーションと比較するときは、元の入力も結果の横に残してください。次に、出力を逆方向の進数変換ツールに入力して確かめます。接頭辞や先頭のゼロの有無が違っても、復元した整数の値は元の値と一致するはずです。この確認で値の一致は分かりますが、バイト幅や符号付きの表現方法は別途仕様で確認してください。
ガイドを探す