No.4ベストアンサー
- 回答日時:
コンピュータ内部で一般に正負の数を固定小数点形式で扱う場合には2の補数形式で表されます。
小数点位置が何処にあるかは人が適当に仮定しますが、基本はCPUでの整数演算です。
その場合、16ビット表現では-32768...0...+32767が表されます。
最上位ビットの重みは-2**15=-32768,その他のビットの重みは右から0,1,2...n,..ビットは1,2,4,...2**n,...の重みを持っており、それらの各ビットの重みの和が表している数値となります。
負の数を表す場合、先ず正の数を考えてその1の補数を作り(全ビット1<==>0反転)最下位ビットに1を加えた形となります。
このようにしておけば加減算が正負の数を意識しないで統一的に処理出来るし、16,32,64ビットの固定小数点(整数も含む)の相互変換は最上位の符号ビットを左に拡張する、或いは上位の符号ビット部分を削除するなどで容易です。
質問に記されている小数点位置15ビットの-0.25は次のように表現されます。
0.25 = 0010 0000 0000 0000
同上1の補数形
= 1101 1111 1111 1111 = 0xdfff
最下位ビットへの1の加算
= 1110 0000 0000 0000 = 0xe000
以上のように表されます。
各ビットの重みを考えて十進数に戻すと、符号ビット=-1,
その右...のビットは1/2,1/4,1/8 の重みを持っているので
-1 +1/2 +1/4 = -1 +3/4 = -1/4 = -0.25
のようになります。
加減算の場合は小数点位置が変わらず簡単ですが、乗算の時は16bit*16bit=32bitとなり、その結果を16bitの少数として求めるには32bit中のどの部分の16bitを取り出すかは人が意識してシフト演算で取り出す必要があります。
次等を参照下さい。
http://ja.wikipedia.org/wiki/コンピュータの数値表現
No.5
- 回答日時:
そのシステムが「2の補数」を使っているのなら、加減算は符号を意識しないでできるのだから、単純に 0-0.25 を計算してみれば良いんです。
(1)0000 0000 0000 0000
- 0010 0000 0000 0000
-----------------------
1110 0000 0000 0000
最初に(1)と書いたのは、そのままでは引き算できないので、先頭に1があるものと仮定して計算します。この1はボロー(借り)として、CPUのキャリー/ボロー フラグに記録される数です。結果はNo.2回答と同じです。
ただ、実数計算の場合(浮動小数点実数計算の場合)、負数は単純に符号ビットを反転するだけのシステムもあるので、その場合は質問者さんの考えた通りになります。(たぶん固定小数点では、こんなシステムはないと思いますが。)
No.3
- 回答日時:
う~む、どうなっているんだろう。
固定小数点に少数があるわけ無いでしょうに。整数ですよ。
-32768~32767までしか表せません。
浮動小数点であれば、指数と少数に分ける必要があります。
なお、符号ビットは符号だけで1ビットを使っているという考えは
誤りです。
16ビットでしたら 0x0000~0xffffまでの間、符号ビットがオンになる
コードを負数に割り当てていると考えるべきです。
割り当て方は色々ありますが、2の補数というのが今は固定していると思います。
つまり-1なら1の0x0001を反転して0xfffeとしプラス1し0xffffしたものが-1の
2の補数表現ということです。
もっとも、自分で専用のクラスでも作って、固定小数点で
データを保持するけども、小数部を持つという特殊なフォーマットに
することは可能です。
これはデータだけでなくクラス内のメソッドもフォーマットの一部と
言えるでしょうけど。
No.2
- 回答日時:
> 最上位(15)ビットが符号ビットで14~0ビットが少数部という
> データフォーマットだった場合、
小数点をどこで固定するか?なんかによってフォーマットは変わりますから、
> -0,25を表すとしたら、
> 0.25に符号ビットをセットした値=0xA000( 1 010 0000 0000 0000 )
> になる
必ずそうなるなんて保証が無いです。
前提条件として、表す数は1未満の小数で、14ビット=1/2、13ビット=1/4とかって事になってるのなら合ってるって事になるかも知れません。
> 16ビットの符号付固定小数点
って条件だけだと、
15ビット:符号、14ビット~8ビット:整数部、7ビット~0ビット:小数部
15ビット:符号、14ビット~12ビット:整数部、11ビット~0ビット:小数部
15ビット:符号、14ビット~0ビット:数値部(小数部)、表す数は-0.32768~+0.32768の0.00001刻み
どんなのだってあり得ます。
No.1
- 回答日時:
残念ながら違いますね。
符号付固定小数点というのは、符号(1ビット):整数部(8ビット):小数部(7ビット)という具合に並べて、全部で16ビットです。
詳しくは以下のリンクを参照してください。
参考URL:http://www2.muroran-it.ac.jp/circle/mpc/front/ol …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 計算機科学 6ビット(符号含む)の二進数 4 2023/04/16 13:22
- C言語・C++・C# ハミング符号の解読について 1 2023/05/06 00:20
- 物理学 電磁気学での質問です。 電荷のない空間ではポテンシャルの極大点, 極小点が存在しないことを証明せよ. 3 2023/05/12 22:39
- 数学 二次関数 符号の判定 (4)です。判別式Dよりx軸との交点で符号が定まると教えてもらったのですが、一 5 2022/08/23 22:11
- 計算機科学 ビット計算 2 2023/04/16 14:26
- 数学 ごめんなさい l=⎡-log2P(ai)⎤ と 1 2022/12/05 12:25
- 工学 疑似乱数生成器 3 2023/01/05 02:06
- 数学 数字 絶対値の記号は絶対値そのものを表しているのではなく、ただ、符号も含めた原点からの距離を表してい 8 2022/04/24 14:34
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL16進⇒浮動小数変換したい
-
浮動小数点の問題です。
-
基本情報技術者試験のビットに...
-
2ビット、3ビット、4ビットのグ...
-
【有効数字について】 授業で、...
-
EXCELでの16進数取り出し、上...
-
Excel_VBAで改行コードの無いフ...
-
プログラム言語FortranとCの違...
-
ワードの改行について
-
Pingについてご教授ください。
-
KBのMB違いって
-
1Mバイトって何バイト?
-
組み込みCプログラムで実数型
-
有効数字計算 確定した値を含む
-
PDFからワードへ→文字がくずれる
-
次の加算(2進数4ビット)でオ...
-
Oracle AL32UTF8でのバイトサイ...
-
VBSとVBA
-
携帯電話の略語であるMBって英...
-
GB と Gbの違いの意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL16進⇒浮動小数変換したい
-
エクセルVBAで xlOn xlOff の切替
-
2ビット、3ビット、4ビットのグ...
-
エクセルでビット1をカウント J...
-
9ビットの2進数を符号付整数…
-
基本情報処理技術者試験問題が...
-
データ量の単位について教えて...
-
16ビットの符号付固定小数点...
-
6ビット(符号含む)の二進数
-
ALUのオーバーフローフラグの生...
-
16ビット浮動小数点数の表現...
-
SSDのデータがビット落ちにより...
-
KBのMB違いって
-
【有効数字について】 授業で、...
-
携帯電話の略語であるMBって英...
-
EXCELでの16進数取り出し、上...
-
KBとMB
-
文字の容量(サイズ)についての...
-
実行計画の「COST」と「BYTE」...
-
プログラム言語FortranとCの違...
おすすめ情報