問題タブ [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.
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を最初のバイトにすることができないため、他の何か(エラーコード?)が出力されていました。
binary - 2の補数データ表現
これは私が過去の論文で見た質問です。私は10代の褒め言葉は理解していると思いますが、2人の褒め言葉に関する次の質問は理解できません。また、2つの褒め言葉はバイナリと何の関係がありますか?
基数10のどの数が、k = 4の2秒補数の1110で表されますか?k = 5の場合、答えは変わりますか?
答えを説明してください、助けてくれてありがとう!
python - Pythonで2の補数でバイナリリテラルを表現するにはどうすればよいですか?
Python では、0b01001011 は 75 になり、これは 2 の補数でも機能します。しかし、0b10101001 は 169 になり、2 の補数では -87 になります。2 の補数バイナリ リテラルを表現するにはどうすればよいですか?
c - 〜x +〜y ==〜(x + y)は常にfalseですか?
このコードは常にfalseと評価されますか?両方の変数は、2の補数の符号付きintです。
条件を満たす数があるはずだと思います。との間の数値をテストしてみましたが、同等には-5000
なりませんでした。5000
条件の解を見つけるための方程式を設定する方法はありますか?
一方を他方に交換すると、プログラムに潜行性のバグが発生しますか?
floating-point - 負の整数のように表される負の浮動小数点数?
今日のコンピューターが負の整数を格納する方法を知っていますが、ほとんどのコンピューターは 2' の補数を使用しています。浮動小数点のようなあらゆる種類の数値にも 2' の補数法が適用されるのではないかと思っていました。
objective-c - uint8_tを2の補数関数に
xcodeでobjective-cを使用しています。uint8_tのデータを2の補数に変換するにはどうすればよいですか?範囲は-127から127ですよね?
私が持っている場合:
使用できる関数やメソッドが組み込まれていますか?誰かが簡単な機能を持っていますか?
ありがとう!
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 ビットにしないのはなぜですか?
c - 2の補数の値を2つのレジスタからintに読み取る方法
STC3100バッテリーモニターICから値を読み取ろうとしていますが、取得した値が正しくありません。データシートの内容:
これはデータシートです:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00219947.pdf
私のコードにあるもの:
私は何が間違っているのですか?これは、2の補数の値をintにコピーする方法ではありませんか?
bit-manipulation - 2 の (N) = 1 の (N-1)
興味深い事実があります:
数 N の 2 の補数は、数 N から 1 を引いた 1 の補数と同じです
。
以下の結果は明らかです。
2 番目の結果を使用して、最初の結果をどのように証明できますか?
c - 符号拡張1ビット2の補数?
私は学生であり、Cで関数を記述して、指定されたビットフィールドを符号拡張します。私は32ビットで作業しています。
この答えをGoogleで調べましたが、探しているものが見つかりませんでした。
私は、32intから引き出された1つ以上の連続するビットの2つの完全な表現を返す関数を書いています。左端のビットは符号ビットです。
1ビット引っ張ると何が返されますか?1ビットを符号付き2の補数としてどのように表現しますか?