固定小数点演算の2の補数を10進数に変換する方法を知りたいと思います。固定小数点演算(ビット番号付き)の10進数への2の補数の変換
ビットポイントで11001011
、小数点の後ろに2
の位置を持つこの固定小数点演算を2の補数で得て、それを10進数にしたいとしましょう。
最初のビットが1
なので、小数点は負の値になることはすでにわかっています。
2
小数点の後ろに位置するので、110010 11
です。
はその2の補数から標準形(1
によってsub
、invert
)に変換:
110010 10
(ここでは1
によってIサブ)
001101 01
小数で
001101
を(私はここで反転)されます13
01
の10進数は0です。
したがって、最終的には-13.1
になります。それは正しいのですか、これを変換する方法さえありませんか?
すごいああ答えと私と一緒にこの方法を共有するためのおかげで、知りませんでしたそれも同様に動作します! :) –
@cnmesr:あなたは大歓迎です。固定小数点数を暗黙のスケーリングファクタ*を持つ*整数として考えるほうが便利でしょう。 –