問題タブ [twos-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.

0 投票する
2 に答える
1996 参照

32-bit - -1(整数)はビッグエンディアンの32ビット2の補数バイトでどのように表されますか?

ばかげた質問で申し訳ありませんが、ネットワーク経由で-1を送信するのに少し問題があります。

1の場合...

00000000 00000000 00000000 00000001

.....-1であってはなりません...。

11111111 11111111 11111111 11111111

.....送信しています(255 255 255 255)が、10進値を取得しています...。

-1010842689

....反対側に。同じ8ビットルールが32ビットか何かに適用されると間違って仮定していますか?

助けてくれてありがとう。

編集:

出力はUTF-8でフォーマットされていたことがわかりました。これにより、値255を最初のバイトにすることができないため、他の何か(エラーコード?)が出力されていました。

0 投票する
1 に答える
2594 参照

binary - 2の補数データ表現

これは私が過去の論文で見た質問です。私は10代の褒め言葉は理解していると思いますが、2人の褒め言葉に関する次の質問は理解できません。また、2つの褒め言葉はバイナリと何の関係がありますか?

基数10のどの数が、k = 4の2秒補数の1110で表されますか?k = 5の場合、答えは変わりますか?

答えを説明してください、助けてくれてありがとう!

0 投票する
2 に答える
744 参照

python - Pythonで2の補数でバイナリリテラルを表現するにはどうすればよいですか?

Python では、0b01001011 は 75 になり、これは 2 の補数でも機能します。しかし、0b10101001 は 169 になり、2 の補数では -87 になります。2 の補数バイナリ リテラルを表現するにはどうすればよいですか?

0 投票する
11 に答える
8745 参照

c - 〜x +〜y ==〜(x + y)は常にfalseですか?

このコードは常にfalseと評価されますか?両方の変数は、2の補数の符号付きintです。

条件を満たす数があるはずだと思います。との間の数値をテストしてみましたが、同等には-5000なりませんでした。5000条件の解を見つけるための方程式を設定する方法はありますか?

一方を他方に交換すると、プログラムに潜行性のバグが発生しますか?

0 投票する
2 に答える
6590 参照

floating-point - 負の整数のように表される負の浮動小数点数?

今日のコンピューターが負の整数を格納する方法を知っていますが、ほとんどのコンピューターは 2' の補数を使用しています。浮動小数点のようなあらゆる種類の数値にも 2' の補数法が適用されるのではないかと思っていました。

0 投票する
2 に答える
1810 参照

objective-c - uint8_tを2の補数関数に

xcodeでobjective-cを使用しています。uint8_tのデータを2の補数に変換するにはどうすればよいですか?範囲は-127から127ですよね?

私が持っている場合:

使用できる関数やメソッドが組み込まれていますか?誰かが簡単な機能を持っていますか?

ありがとう!

0 投票する
5 に答える
83210 参照

math - 符号付きバイトの範囲が -127 から 127 ではなく -128 から 127 (2 の補数) であるのはなぜですか?

私はなぜ Java のバイト範囲が -128 から 127 なのかを読み ました。 それは言う

128 は 10000000 です。反転すると 01111111 になり、1 を追加すると 10000000 になります。

したがって、-128 は 10000000 であると結論付けます

したがって、+128 は 8 ビットの 2 の補数で表すことはできませんが、9 ビットで表すことができるということです。したがって、128 は 010000000 であり、その 2 の補数を取ると、-128 は 110000000 になります。

-128 10000000 または 110000000 の表現はそうですか? 表現はビット依存ですか?

-128 を 10000000 として書き込むのではなく、単純に下位範囲 -127 を 8 ビットにしないのはなぜですか?

0 投票する
4 に答える
4890 参照

c - 2の補数の値を2つのレジスタからintに読み取る方法

STC3100バッテリーモニターICから値を読み取ろうとしていますが、取得した値が正しくありません。データシートの内容:

これはデータシートです:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00219947.pdf

私のコードにあるもの:

私は何が間違っているのですか?これは、2の補数の値をintにコピーする方法ではありませんか?

0 投票する
1 に答える
178 参照

bit-manipulation - 2 の (N) = 1 の (N-1)

興味深い事実があります:

数 N の 2 の補数は、数 N から 1 を引いた 1 の補数と同じです

以下の結果は明らかです。

2 番目の結果を使用して、最初の結果をどのように証明できますか?

0 投票する
2 に答える
3278 参照

c - 符号拡張1ビット2の補数?

私は学生であり、Cで関数を記述して、指定されたビットフィールドを符号拡張します。私は32ビットで作業しています。

この答えをGoogleで調べましたが、探しているものが見つかりませんでした。

私は、32intから引き出された1つ以上の連続するビットの2つの完全な表現を返す関数を書いています。左端のビットは符号ビットです。

1ビット引っ張ると何が返されますか?1ビットを符号付き2の補数としてどのように表現しますか?