アプリ版:「スタンプのみでお礼する」機能のリリースについて

-27 を 6 ビット(符号を含む)の 2 進数(負数は2の補数を用いる)に変換すると100101になりますか?

A 回答 (4件)

27[10] = 011011[2]



ですから

(a) すべてのビットを逆転させる
  011011 → 100100

(b) それに「1」を加える
 100100 → 100101

が求める答になります。
 100101[2] = -27[10]

なぜなら
 -27[10] + 27[10] = 0[10]
と同様に
 100101[2] + 011011[2] = 1 000000[2]
となって、「6 ビットの 2 進数」では「7ビット目」はオーバーフローして消滅するので、「6 ビットの範囲内では足して 0 になる」からです。

「2の補数」とはそういうことです。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2023/04/16 16:09

普通に数学の負数の定義と同じです。



-27は27を足すと0になる様な数。

27は2進で011011。
これに何かを足して桁アフレの0にするには、何かは100101

機械的にやるなら、
011011の全ビットを反転させ100100にして1を足す
=100101
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2023/04/16 14:23

それで良いと思いますよ。


作業的には 10進数の 27 を2進数に変えて、
0 と 1 を入れ替えて、更に 1 を加えますね。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2023/04/16 14:23

なります。

    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2023/04/16 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!