HOME»基本情報技術者試験掲示板»令和3年免除試験問2
投稿する

[5269] 令和3年免除試験問2

 makovetさん(No.1) 
解説を読んでも理解できないので、どなたか教えていただけないでしょうか?
解説の3段落目に「さらに入れ替え後の上位8ビットは、入れ替え前の下位8ビットを、左へ8ビットシフトすることで得ることができます。xの下位8ビットは、xを256で割った余りと同じです。」とあるのですが、なぜ、「xの下位8ビットは、xを256で割った余りと同じです。」と言えるのでしょうか?
申し訳ありませんが、よろしくお願いします。
2024.01.27 23:23
こっぽさん(No.2) 
256を2^8 = 1 00000000として考えると分かりやすいです。
x= 10000000 00000001  とします。
(x÷2^8) = 10000000 00000001 / 1 00000000 = 10000000
(x%2^8)×2^8 = (10000000 00000001 % 1 00000000)×1 00000000
              = (00000000 00000001)×1 00000000 = 00000001 00000000
(x÷2^8) + (x%2^8)×2^8 = 10000000 + 00000001 00000000

     = 00000001 10000000
2024.01.28 02:27
jjon-comさん(No.3) 
FE ゴールドマイスター
まず、人にとって馴染みのある10進数を考えます。

10進数で8けたの数の位取りは、
|1000万の位|100万の位|10万の位|1万の位|1000の位|100の位|10の位|1の位|
です。
ちなみに、乗数で表すと、
|10の7乗|10の6乗|10の5乗|10の4乗|10の3乗|10の2乗|10の1乗|10の0乗|
です。
このとき、
下位4けたで表される10進数 0000~9999 は「1万(10の4乗)で割った余り」であり、
上位4けたで表される10進数は「1万(10の4乗)で割った商」です。

同様に、
2進数で8けたの数の位取りは、
|128の位|64の位|32の位|16の位|8の位|4の位|2の位|1の位|
です。
ちなみに、乗数で表すと、
|2の7乗|2の6乗|2の5乗|2の4乗|2の3乗|2の2乗|2の1乗|2の0乗|
です。
このとき、
下位4けたで表される2進数 0000~1111 は「16(2の4乗)で割った余り」であり、
上位4けたで表される2進数は「16(2の4乗)で割った商」です。

リンク先の問題では、
2進数の整数xの上位8ビットと下位8ビットを問うていますから、
xの下位8ビットは「xを256(2の8乗)で割った余り」(x%256)であり、
xの上位8ビットは「xを256(2の8乗)で割った商」(x÷256)です。
2024.01.28 12:54
boyonboyonさん(No.4) 
FE ブロンズマイスター
https://www.fe-siken.com/bbs/5195.html
を参照してみてください。同じ質問です。
2024.01.28 13:00
 makovetさん(No.5) 
3人の方々、丁寧に教えていただきまして、ありがとうございました。
イメージが湧いて、やっと理解できました。
本当に、ありがとうございました。
2024.01.28 19:35

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop