HOME»応用情報技術者試験掲示板»桁あふれが生じるとは
投稿する
»[1901] 平成26年春 午後 問3プログラミング 投稿数:3
»[1900] ずっと午前問題で落ちてます。。 投稿数:5
桁あふれが生じるとは [1903]
ミントさん(No.1)
https://www.ap-siken.com/kakomon/19_haru/q1.html
の問題ですが、正については理解できましたが「負で絶対値の和が231より大きい」の部分が
今だピンと来ていません。
だれかお願いします。
の問題ですが、正については理解できましたが「負で絶対値の和が231より大きい」の部分が
今だピンと来ていません。
だれかお願いします。
2020.02.12 17:27
助け人さん(No.2)
★AP ゴールドマイスター
話を易しくするために、3ビットで考えます。3ビットの2進数で表せる数は、0~7(=2^3-1)の8(=2^3)通りです。
7(10)=111(2)
6(10)=110(2)
・・・
0(10)=000(2)
では、3ビットの2の補数表現で表せる数は、-4(=-2^2)~3(=2^2-1)の8(=2^3)通りです。
3(10)=011(2)
2(10)=010(2)
1(10)=001(2)
0(10)=000(2)
-1(10)=111(2)
-2(10)=110(2)
-3(10)=101(2)
-4(10)=100(2)
ここで、3より大きい、つまり4以上の数を表そうとすると、3ビットでは足りません(あふれor桁あふれorオーバーフロー)。
同様に、-4より小さい、つまり-5以下の数を表そうとすると、3ビットでは足りません(これも、あふれor桁あふれorオーバーフロー)。
ただ、「あふれor桁あふれorオーバーフロー」をネットや書籍で調べると、正の数については説明がありますが、負の数についてはほとんど説明がないのは残念です。
7(10)=111(2)
6(10)=110(2)
・・・
0(10)=000(2)
では、3ビットの2の補数表現で表せる数は、-4(=-2^2)~3(=2^2-1)の8(=2^3)通りです。
3(10)=011(2)
2(10)=010(2)
1(10)=001(2)
0(10)=000(2)
-1(10)=111(2)
-2(10)=110(2)
-3(10)=101(2)
-4(10)=100(2)
ここで、3より大きい、つまり4以上の数を表そうとすると、3ビットでは足りません(あふれor桁あふれorオーバーフロー)。
同様に、-4より小さい、つまり-5以下の数を表そうとすると、3ビットでは足りません(これも、あふれor桁あふれorオーバーフロー)。
ただ、「あふれor桁あふれorオーバーフロー」をネットや書籍で調べると、正の数については説明がありますが、負の数についてはほとんど説明がないのは残念です。
2020.02.13 06:54
その他のスレッド
»[1902] H28秋 午後問6:データベース 誤植 投稿数:2»[1901] 平成26年春 午後 問3プログラミング 投稿数:3
»[1900] ずっと午前問題で落ちてます。。 投稿数:5