問題タブ [ones-complement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでの16進数から1の補数へ
Pythonで1の補数を生成する簡単な方法はありますか?
たとえば、16 進値 を取得する場合、0x9E
それを に変換する必要があり0x61
ます。
バイナリ 1 を 0 に、0 を 1 に交換する必要があります。これはシンプルであるべきだと感じます。
binary - 1 の補数または 2 の補数を使用する場合、符号ビットは変わりますか?
私は単純な概念のように見えるものに苦労してきましたが、バイナリ変換を組み合わせたり混同したりし続けているようです。
2 進数で与えられた数値に 1 の補数を適用すると、すべてのビットが反転します。0を1、1を0にする。2 の補数の場合は、1 の補数のようにビットを反転して 1 を加算します。
これは、文字通りすべてのビットを反転させるということですか? 何らかの理由で、左端のビット (符号ビット) を除いて、すべてのビットを反転する必要があると考え続けています。ここにいくつかの例があります..私がこれを正しく行っているかどうか教えてもらえますか?
1101001
1のコンプ: 0010110
2のコンプ: 0010111
01110101
1のコンプ: 10001010
2 のコンプ: 10001011
011110110
1のコンプ: 100001001
2 のコンプ: 100001011
ありがとう。
binary - 自分の補数を理解しようとする
私は自分の補数を理解できるようにいくつかの問題に取り組んでいましたが、これに似た問題について質問がありました。
この 2 進数が既に 1 の補数形式である場合: 1010 1111 1111
それは何の10進数を表していますか?
このプロセスで私は正しいですか?1010 1111 1111 には負の符号があります (左端のビット)。
次に、補数を取ります: 0101 0000 0000 = 1280
-1280を表しているのでしょうか?それとも、これは完全に間違っていますか。
binary - 10 進数を 2 の補数に変換する
指示:可能であれば、これらの 10 進数を 5 ビットの 2 の補数形式に変換します。不可能な場合は、その理由を説明してください。
(16) 基数 10
オンラインコンバーターによると:
私が理解していることから、
小数が正の場合:
- ステップ 1: マグニチュードをバイナリに変換します。
- ステップ 2: 必要なビットサイズまで 0 をパディングします。
10 進数が負の場合:
- ステップ 1: マグニチュードをバイナリに変換します。
- ステップ 2: 必要なビットサイズまで 0 をパディングします。
- ステップ 3: ビットを反転して 1 の補数を実現します。
- ステップ 4: 2 の補数を達成するために 1 を追加します。
16 は正なので、除算を繰り返して (10000) を底とする 2 進数に単純に変換しました。
すでに 5 ビット (5 桁を含む) であるため、0 をパディングしません。
オンラインコンバーターがエラーを返す理由を誰か説明してもらえますか (これも正しい答えだと強く信じています)。
binary - Ones Complement の何が問題になっていますか?
1 の補数 Octal(24)-Hex(4B) を使用して次の減算を行い、2 進数の答えを出したい
Octal(24) は 10 進数で 20、Hex(4B) は 10 進数で 75 です。
20->10100 75->1001011
75 0110100 の 1 の補数を取り、20 に追加します。
10100 +0110100 =1001000
結果001000 + 1 = 001001でキャリーを追加しますが、これは間違っています
どこが間違っていますか?
私はここで初めてです。入力方法に誤りがあれば申し訳ありません。
java - このコードは 2 の補数に対して正しいですか?
再び宿題の時間。2 進数の 1 と 2 の補数を出力するプログラムを作成する必要があります。これまでのところ、2 秒の褒め言葉は正しいですか? 入力を許可してから、2 の前に 1 の補数を計算する必要がありますか?
java - 1 の補数を求める
2進数を入力してから1の補数を計算するプログラムを作ろうとしています。これは私がこれまでに持っているものです:
ただし、0111011 を入力すると、-111012 が返されます。~ 演算子は、すべての 0 が 1 になり、すべての 1 が 0 になるように数値を反転することになっていると思いました。
何か助けはありますか?
java - 1の補数から2の補数への変換
私のコードは、10 進数を 2 進数に変換するクラスです。バイナリ、1 の補数、2 の補数が表示されます。これまでのところ、1 の補数はわかりましたが、2 の補数の解決策を見つけるのに問題がありました。私の計画は、1 の補数の出力を 2 の補数メソッドへの入力として使用し、そこで変換することでした。これは正しいアプローチですか?