2016-03-28 46 views
-1

私は署名された符号なしの番号で動作する必要があるプログラムを書いています。あなたは32ビットの入力を受け取り、最初の24ビットは整数で、最後の8ビットは小数です。小数点以下桁数に応じて切り上げます。かなり簡単ですが、入力が署名されているか署名されていなくても動作するプログラムを作成するにはどうすればよいでしょうか?あなたは、数字が符号なしであるかどうかに応じて実行する2つの別々のコードブロックを作るだけですか?VHDLの符号付きと符号なしの両方の数値をどのように扱うことができますか?

+0

実際に_signed_数字はどういう意味ですか?署名された番号には記号を付けることができますが、必要はありません。符号付きと符号なしの数字を区別するために、別個の制御信号が必要です。 –

+0

これは、符号付きまたは符号なしではなく、固定小数点のように聞こえる。私はこのためのVHDL - 2008の固定小数点パッケージを見ていきたいと思います。 –

+0

「署名済みか署名なし」と言ったら、「肯定的」または「否定的」を意味するかもしれませんか? – fru1tbat

答えて

0

あなたのプログラムは、データとその情報から番号が署名されているかどうかを判断する場合は、ソースを認識する必要があります。さもなければ、あなたのプログラムはビットのベクトルが署名されている(un)かどうかを知る方法はありますか?サイネージは、人間がデータを構造化するために使用するための規約です。あなたが実装するハードウェアはちょうどビットのベクトルを見ます。

0

8ビットの符号なし32ビットの数値は、0〜((2^32)-1)/ 256の範囲の数値を表すことができます。

8ビットの符号付き32ビット符号付き数値は、 - (2^31)/ 256から((2^31)-1)/ 256の範囲の数値を表すことができます。

32ビットの入力(符号付きまたは符号なし)を33ビット符号に変換すると、 - (2^32)/ 256〜((2^32))の範囲の数値を表すことができます。 -1)/ 256、入力のすべての範囲をカバーします。

(32ビット入力に加えて、これらの32ビットが符号なしまたは符号付きの数値を表すかどうかを示すその他の入力がある必要があります。その状態に基づいて適切な変換を行います)。

関連する問題