平成24年春期 問4についての疑問
広告
八王子さん
(No.1)
問の「先頭バイトは2進表示が0又は11で始まり」までは分かるのですが、「それ以降のバイトは10で始まる」の箇所の意味が分かりません。
例えば1文字目の2バイト「CF 80」は「11001111、10000000」となり、1バイト目は11~から始まり2バイト目は10~になっているので条件を満たしますが、中盤にある「33 2E」は「00110011、00101110」となり、2バイト目は10で始まるという条件を満たしていないように見えます。
https://www.ap-siken.com/s/kakomon/24_haru/q4.html
例えば1文字目の2バイト「CF 80」は「11001111、10000000」となり、1バイト目は11~から始まり2バイト目は10~になっているので条件を満たしますが、中盤にある「33 2E」は「00110011、00101110」となり、2バイト目は10で始まるという条件を満たしていないように見えます。
https://www.ap-siken.com/s/kakomon/24_haru/q4.html
2023.03.08 01:19
Howitzerさん
(No.2)
33 は先頭バイトの条件を満たし、2E も先頭バイトの条件を満たします。
よって 33 は、それ単独で1文字となって後続の2バイト目がないのです。
ちなみに(知らなくても解けるので)解説には書かれていない(と思う)のですが、
1110で始まるときは、3バイトで1文字:先頭バイト+後続バイト×2
110 で始まるときは、2バイトで1文字:先頭バイト+後続バイト×1
0 で始まるときは、単独で1文字:先頭バイトのみで後続バイトなし
10 で始まるバイトは、後続バイトであり先頭バイトではありません。
つまり、16進数 E で始まるバイトがあったら、そこから3バイトで1文字です。
よって 33 は、それ単独で1文字となって後続の2バイト目がないのです。
ちなみに(知らなくても解けるので)解説には書かれていない(と思う)のですが、
1110で始まるときは、3バイトで1文字:先頭バイト+後続バイト×2
110 で始まるときは、2バイトで1文字:先頭バイト+後続バイト×1
0 で始まるときは、単独で1文字:先頭バイトのみで後続バイトなし
10 で始まるバイトは、後続バイトであり先頭バイトではありません。
つまり、16進数 E で始まるバイトがあったら、そこから3バイトで1文字です。
2023.03.08 02:37
八王子さん
(No.3)
なるほど、問題文は「先頭ビットの条件は0か11あり、続く場合は10となる」という意味だったのですね。だから続かない場合は今回のようになると。ありがとうございました。
2023.03.08 14:48
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告