2

指示:可能であれば、これらの 10 進数を 5 ビットの 2 の補数形式に変換します。不可能な場合は、その理由を説明してください。

(16) 基数 10

オンラインコンバーターによると:

私が理解していることから、

小数がの場合:

  • ステップ 1: マグニチュードをバイナリに変換します。
  • ステップ 2: 必要なビットサイズまで 0 をパディングします。

10 進数が負の場合:

  • ステップ 1: マグニチュードをバイナリに変換します。
  • ステップ 2: 必要なビットサイズまで 0 をパディングします。
  • ステップ 3: ビットを反転して 1 の補数を実現します。
  • ステップ 4: 2 の補数を達成するために 1 を追加します。

16 は正なので、除算を繰り返して (10000) を底とする 2 進数に単純に変換しました。

すでに 5 ビット (5 桁を含む) であるため、0 をパディングしません。

オンラインコンバーターがエラーを返す理由を誰か説明してもらえますか (これも正しい答えだと強く信じています)。

4

2 に答える 2

3

5 ビットを使用すると、最大 2^5 の異なる数値を表すことができます。負の数値と正の数値が必要なため、範囲は -16 から +15 です。

16 は 5 ビットの範囲外であるため、エラーが発生します。6ビットに変更すると動作するはずです

于 2013-09-23T10:41:32.300 に答える