アプリ版:「スタンプのみでお礼する」機能のリリースについて

情報技術の問題についてです。
10進数の−36を以下のような16ビットの浮動小数点表示にするといくつになるか。

1ビット     7ビット      8ビット
S E M
仮数部の 指数部(2のべき条) 仮数部の
符号      負数は2の補数    絶対値
                 ▲小数点の位置

わかる方お願いします。

A 回答 (3件)

まずは、


 36[10] = 32 + 4 = 1 * 2^5 + 0 * 2^4 + 0 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0
    = 10 0100[2]

指定された表示方法の「下8ビット」の「小数点の位置」がよく分かりませんが、IEEE 方式の浮動小数点表示で、「8ビットの前に小数点がある」と解釈します。

つまり、初めて現れる「1」が整数1桁目に来るように書けば
 36[10] = 1.00100[2] × 2^5
です。
ということで、
・指数は
 5[10] = 101[2] = 000 0101[2]
・仮数(絶対値)は、「整数1桁目」は「1」であると決まっているので、これを省略します。(IEEE 方式で有効桁数を多くとるための工夫)
 1.00100[2] → (1.) 0010 0000[2]

あとは、これを指定された表示形式に沿って表示するだけ。

1ビット目は「符号」なので、「-36」なら「マイナス」なので「1」

2~8ビット目は「2のべき乗」を「符号付7ビット」であらわすので、ここでは
 5[10] = 101[2] = 000 0101[2]

9~16ビット目は「絶対値」なので、
 1.00100[2] → .0010 0000

以上をまとめれば
 1 000 0101 0010 0000


もし、異なる「浮動小数点表示」の方式であれば、それに従って記載する必要があります。
    • good
    • 0

おはようございます。



合っているか分かりませんが、下記の様な感じでしょうか?

1ビット:S 仮数部の符号
7ビット:E 指数部 負数は2の補数
8ビット:M 仮数部の絶対値

8ビットの36:00100100
  1.00100000 × 2^5

7ビットの5:0000101

S  E    M
1 0000101 00100000

2進数:1000010100100000
16進数:8520


https://detail.chiebukuro.yahoo.co.jp/qa/questio …
https://tools.m-bsys.com/calculators/ieee754.php
    • good
    • 0
この回答へのお礼

ありがとうございます^_^

お礼日時:2022/05/22 09:45

SがマイナスでEが36でMが0とかじゃないですか?(半分妄想)

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!