タグ

2の補数に関するtanosikeizaigakuのブックマーク (2)

  • 負数の扱い

    コンピュータ上で負の数はどうやって表せばよいだろうか。 0と1だけを並べて負の数も含めた整数を表すにはいくつかの方式がある。 主な方式をあげると、「符号+絶対値方式」、「げたばき表現」、 「2の補数表現」の3つがある。 符号+絶対値方式 日常我々は符号と絶対値で表す。例: -3 は、符号の「-」と絶対値「3」か ら成る。これと同じ考え方を2進法でも使うことができる。 符号を表すのに1ビットあればよい。 つまり、符号があれば、それを1で表す。なければ、0で表す。 例えば、32ビット使って、正負の数を表したいとする。32ビットの内の 先頭の1ビットで符号を表す。残り31ビットで絶対値を表す。 例: -5 をそのようにして表すとする。 符号があるので、最初に 1 と書く。 絶対値の 5(10進) は、2進では101と書ける。 これだと3ケタしかないので、0を頭に補って31ビットにする。 つまり、

    tanosikeizaigaku
    tanosikeizaigaku 2020/05/16
    特定の負の数を、2の補数表現を使った場合どのように表すかを理解する
  • 2の補数は分かりにくい、こう考えれば分かる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    現代のコンピュータでは、負の数の表現に「2の補数」を使っています。「2の補数」って何だよ? 改めて調べてみると、説明(例えばWikipedia)が分かりにくいですね。だいたい分かっても、「それが何なの?」という感じ。 「2の補数」はコンピュータと2進数の文脈で語られるけど(実際、それはそうなんだけど)、ことの質はそこじゃない、「ビットを反転して1を足す」とか呪文ように覚えても全くショーモナイ。むしろ、「コンピュータ」や「2進数」から離れたほうがいいんじゃないか、とさえ思えます。 時計や角度とのアナロジーや循環(ラップアラウンド)を含んだ説明がないかと探していたら、2008年の自分の記事がひっかかりました。 循環を巡る話:螺旋、時計、2の補数表現、角度算、リング こんなこと書いたの、もうすっかり忘れていたわ。まー、いいこと書いてあるんだけど :-) 「2の補数」が幾つかのトピックのひとつに

    2の補数は分かりにくい、こう考えれば分かる - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tanosikeizaigaku
    tanosikeizaigaku 2020/05/16
    2の補数が理解できる良エントリー
  • 1