HOME»基本情報技術者試験掲示板»平成27年秋期試験 午後問2
投稿する
平成27年秋期試験 午後問2 [2604]
ABCさん(No.1)
https://www.fe-siken.com/s/kakomon/27_aki/pm02.html
お世話になります。
とありますが、設問2では-127を引いています。なぜでしょうか?
下駄を履かせる意味もわかっていないので、初心者でもわかるように教えていただけると助かります!よろしくお願いします!
お世話になります。
>こちらの問題、問題文には指数部(ビット番号30~23)
>βの値に127を加えた値が2進数で入る。
とありますが、設問2では-127を引いています。なぜでしょうか?
下駄を履かせる意味もわかっていないので、初心者でもわかるように教えていただけると助かります!よろしくお願いします!
2021.01.04 17:33
ABCさん(No.2)
引用符のつけ方を間違えてしまいました。
こちらの問題、問題文には
とありますが~と続きます。よろしくお願いします。
こちらの問題、問題文には
>指数部(ビット番号30~23)
>βの値に127を加えた値が2進数で入る。
とありますが~と続きます。よろしくお願いします。
2021.01.04 17:36
いいね正解大卒さん(No.3)
★FE ブロンズマイスター
α*2^βの形を32ビット浮動小数点形式で表すにはβに127を加えます。
逆に浮動小数点形式をα*2^βの形に戻すには指数部から127を引きます。
設問1は前者の問題、設問2は後者の問題です。ですから、設問2では127を引いています。
下駄を履かせる意味に関しては、2の補数表現と大して変わりません。
正規表現における指数はマイナスの数を取ることがありますが、このマイナスの数を「見かけ上は」プラスの数として扱えると嬉しいのです。
そこで、8bitで表現できる0~255までの数字のうち、127を0として扱おう、ということにするわけです。
そうすると127より1小さい126は-1として、2小さい125は-2として……0は-127として扱うことになります。
同様に128は1として、129は2として……255は128として扱います。
つまり、32ビット浮動小数点形式からα*2^βにしたり、逆にα*2^βから32ビット浮動小数点形式にするには、ズラした分の127を引いたり足したりしなければならないわけです。
えっ、じゃあ補数表現でいいじゃん、とお思いになるかもしれませんね。
補数表現はビットをひっくり返すというメンドクサいことをしなければなりません。
これに対して下駄履き表現では127の加算・減算のみで対応できます。
このお手軽さが、下駄履きが採用されている理由かもしれません。
(厳密なことは私もわかっておりません。もしかしたらもっと別の理由があるのかも……)
逆に浮動小数点形式をα*2^βの形に戻すには指数部から127を引きます。
設問1は前者の問題、設問2は後者の問題です。ですから、設問2では127を引いています。
下駄を履かせる意味に関しては、2の補数表現と大して変わりません。
正規表現における指数はマイナスの数を取ることがありますが、このマイナスの数を「見かけ上は」プラスの数として扱えると嬉しいのです。
そこで、8bitで表現できる0~255までの数字のうち、127を0として扱おう、ということにするわけです。
そうすると127より1小さい126は-1として、2小さい125は-2として……0は-127として扱うことになります。
同様に128は1として、129は2として……255は128として扱います。
つまり、32ビット浮動小数点形式からα*2^βにしたり、逆にα*2^βから32ビット浮動小数点形式にするには、ズラした分の127を引いたり足したりしなければならないわけです。
えっ、じゃあ補数表現でいいじゃん、とお思いになるかもしれませんね。
補数表現はビットをひっくり返すというメンドクサいことをしなければなりません。
これに対して下駄履き表現では127の加算・減算のみで対応できます。
このお手軽さが、下駄履きが採用されている理由かもしれません。
(厳密なことは私もわかっておりません。もしかしたらもっと別の理由があるのかも……)
2021.01.05 00:31
ABCさん(No.4)
とても分かりやすいご説明ありがとうございます!!
おかげで問1~4まで全て理解できました!!
ありがとうございました!!!!
おかげで問1~4まで全て理解できました!!
ありがとうございました!!!!
2021.01.05 13:30