10 進数を符号なし 2 進数に変換します:
(符号なし 2 進整数は負の 10 進数を表すことはできません)。
1. 整数部:
「2で割って余りをとり、逆順に並べる」という方法を採用します。 10 進整数を 2 で割って商と余りを取得します。次に、商を 2 で割って商と余りを取得します。これは、商が 1 未満になるまで続き、その後、最初に取得した余りが下限値として有効になります。 2進数の次数ビットを1ビットずつ取り、その余りを2進数の上位ビットとして順番に並べる。
例:
255=(11111111)B 255/2=127余1 127/2=63余1 63/2=31余1 31/2=15余1 15/2=7余1 7/2=3余1 3/2=1余1 1/2=0余1
逆の順序は 11111111 です。
2. 小数部分:
「2 を乗算して四捨五入する」方法を使用します。つまり、小数部分を 2 で乗算し、整数部分を取得します。残りの小数部を続けます。 2 を掛けてから整数部を取り、小数部がゼロになるまで残りの小数部に 2 を掛けます。
例: 0.125 をバイナリに変換すると、結果は次のようになります: 0.125 をバイナリ (0.001) に変換 2.
0.125*2=0.25 0.25*2=0.5 0.5*2=1.0
全員が 0.125=(0.001)2 に丸めます
符号付き数値と符号なし数値:
符号付き数値: 最上位ビットは数値ではなく記号を表します。最上位ビットは 1 (数値が負であることを意味します)、最上位ビットは 0 (数値が正であることを意味します) です。符号付き数値は、正または負の数値を表すことができます。
符号なし数値: 正の数値のみを表すことができます。
関連する推奨事項:10 進数の 60 を符号なし 2 進数に変換する
以上が10 進数から符号なし 2 進数への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。