KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

基本情報 負の 10 進数の 2 進数変換と 8 bit ( 1byte ) 表記。補数変換+1

参考

https://note.cman.jp/convert/bit/

cman jp の変換サイトが計算も出るので便利。

任意の数を入力して

f:id:kei_s_lifehack:20210801134823p:plain

変換と

f:id:kei_s_lifehack:20210801134911p:plain

8bit 表記の計算まで解説してくれる。

ユーザー登録も通信もいらないし、私もフロントでこういうサイトを作りたい。

1 と -1 の実例。反転+1

例えば 10 進数の 1 を 2 進数にすると

1

になり

8 bit 表記すると桁を合わせて、普通に

0000 0001

になるだけ。

しかし -1 の場合では別の計算が必要になる。

まず補数にして反転させるので

1111 1110

になり

最後に1 を足して

1111 1111

が -1 の 8bit 表記になる。

-4 を 8 bit 表記

10 進数の -4 を 2 進数にすると

まず符号以外を 2 進数にして

100

8bit に合わせて

0000 0100

bit を反転させて

1111 1011

最後に 1 を足して

1111 1100

となる

まとめ

負の 10 進数を 2 進数に変換して、さらに 8 bit 表記したい時は

まず符号放置して自然数として 2進数に変換

8 bit の 8桁に合わせる

bit の 01 を全て反転させる

最後に 1 を足して計算する

これで 負の10進数も 2進数の 8 bit で表せる!

課題

これで符号部分をどう 01 で表現するかは理解したが、

実際には基数とか小数部とかのデータも 01 で表現されている。

なので次はそこもまとめる必要がある。