ここから本文です

16進数の#FFFFと#7FFFを算術10進数と、論理10進数への直し方を教えてくださ...

zuu********さん

2018/10/813:38:33

16進数の#FFFFと#7FFFを算術10進数と、論理10進数への直し方を教えてください。
解説をみても、まったくわからないので、詳しく教えていただけますと助かります。

よろしくお願いいたします。

閲覧数:
56
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

ari********さん

2018/10/814:13:55

負数は2の補数表現とする。2進数に変換して考えると分かり易い。

(i) FFFF (hex)=1111 1111 1111 1111 (bin)
算術変換では MSB (最上位bit) が1ゆえ負数を表す。
2の補数表現トすれば1を引いて bit を反転すれば善いから、
1111 1111 1111 1110
0000 0000 0000 0001
FFFF (hex)=-1 (dec)、(負数)
論理変換では FFFF は 16 bit で表せるから FFFF (hex)=2^16ー1=65535 (dec)、(正数)

(ii) 7FFF (hex)=0111 1111 1111 1111 (bin)
算術変換では MSB (最上位bit) が0ゆえ正数を表す。
其のまま10進変換すれば善いが 7FFF は 15 bit で表せるから 算術変換 及び 論理変換はどちらも、7FFF (hex)=2^15ー1=32767 (dec)、(正数)

  • 質問者

    zuu********さん

    2018/10/815:56:02

    ariさん、ご回答ありがとうございます。
    質問なのですが、FFFF は 16 bit、7FFF は 15 bitで表せるということは、7FFF は最上位が0だからでしょうか?
    また、どちらの問題で最後に2の何乗をしたのち、1を引くのはなぜでしょうか?
    あともう少しで理解できそうです!
    よろしくお願いいたします

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる