私の意見では、大きな文字列を末尾 (最下位ビット) から始めて 4 ビットの小さな断片に分割すると便利です。たとえば、2 進数は次の110110010110
ように記述できます1101 1001 0110
。4 ビットの断片に適切に切り分けることができない数値がある場合、たとえば1000011010
のように書く必要があります10 0001 1010
。
さて、それははるかに簡単です。16 進数表記で0
は 0 でf
15 です。0 から数え始めますが、10 個の記号を使用する代わりに 16 を使用します。したがって、0、1、2、3、4、5、6、7、8、9 になります。 、a、b、c、d、e、f。
ビットの各グループをその 16 進記号に置き換えることができます! あなたの例 (ie 1101 1001 0110
) ではd96
、私の例 (ie 10 0001 1010
) では になります21a
。バイナリ文字列で見つかったすべての値について、最下位ビットを2 ^ (position - 1)
結果に追加します。position = 1
たとえば0110
、位置 2 (すなわち2 ^ (2 - 1) = 2 ^ 1 = 2
) と位置 3 (すなわち2 ^ (3 - 1) = 2 ^ 2 = 4
) に 1 があるので、それは2 + 4 = 6
です。ここで、後に0x
続くのは 16 進数であり、それ0xd96
が
いずれにせよ、数字をそのまま書くことは 10 進数であることを意味し、a0
を前に付けると 8 進数を示し、a を前に付けると0x
16 進数を示します。
これが役立つことを願っています!:D