問題タブ [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 に答える
2053 参照

math - 符号付きマグニチュードと補数

この問題の解き方を教えてください

8 ビットの符号付き絶対値、1 の補数、および 2 の補数を使用して、次の 10 進数を 2 進数で表します。

  1. 88
  2. -76

私の解決策は次のとおりです。

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

binary - 符号の大きさと 2 の補数を使用したバイナリ演算

数週間後に受ける試験に向けて改訂中です。回答した質問の例がありますが、それが正しいかどうかはわかりません。誰かが私の答えを確認し、間違っていた場合はivがどこで間違っていたかを説明してください。

ここに問題があります: 符号-絶対値表記の 2 つのバイナリ変数を考えてみましょう: A = 011111 と B = 000001. 関連するすべての手順を示して、バイナリ形式で次の操作を実行します (つまり、取得するためにバイナリから別の基数に変換しないでください)。結果)。答えに使用できるビットが 6 ビットしかないと仮定します。

AB 2 の補数を使用します。

ここに私の答えがあります: B B = 000001 反転で 2 の補数を使用し、1 を追加します。

次に、A + 2 の補数 B

最終回答: 011110

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

c# - 整数の 16 ビットを表示します

あなたの助けが必要です。これは私のコードの一部ですが、解決できない問題があります。助けてください。これは私が今やったことです.16ビットのバイナリ形式で正の整数を取得できます
`

そして問題は、16ビットのバイナリ形式で整数の負の値を取得する方法です

お気に入り; 5 を入力すると、 0000000000000101 を取得できます

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

c - Cで数値が2進数か2の補数かを確認する方法は?

論理ゲートのみを使用して C で 2 進加算器を作成していました。4 + (-5)たとえば、 2 の補数で答えを得て、それを 10 進数に変換するために足し算をしたかったのです。同様に、私がそうするなら、4 + (-3)私は2進数で答えを得て、同じ関数を使ってそれを10進数に変換したいと思います。

これで、2 の補数を 10 進数に変換する方法、2 進数を 10 進数に変換する方法がわかりました。しかし、同じ関数を使用して、2 の補数と 2 進数の両方を 10 進数に変換したいと考えています。そのためには、数値が 2 進数か 2 の補数かを判断する必要があります。それは私が立ち往生しているところです。

ある数値が 2 の補数なのか通常の 2 進数なのかを調べるためのアイデア、アルゴリズム、または C のコードを教えてもらえますか?

ソースコード

チップス

Ourhdr.h

注: このプロジェクトに必要なヘッダーのみを表示します。したがって、他のヘッダーは役に立たないと考えてください。

配列を整数に変換する関数

int のビットを取得し、ビットを含む配列へのポインターを返す関数

2 進数を 10 進数に、またはその逆に変換する関数

メインプログラムの設計

  • n12 つの数値を読み取りn2、ユーザーから
  • およびのビットを持つ配列を指すポインターbits1およびを取得します。配列は逆順になることに注意してください。つまり、最後のビットが配列の変数になります。bits2n1n20th
  • 3 つの変数を渡す for ループを配置します。つまり、追加したいビットと、最後のビット追加操作からのキャリーです。
  • 戻り値は 3 つのビットと桁上げの加算であり、加算後の桁上げ (ある場合) に変更されます。1例: あなたはandを渡し0、キャリーは です1。したがって、リターンは になり0、キャリーは に再び変更され1ます。
  • 戻り値は、 という別の配列に格納されsumます。
  • 配列sumは、上記の関数を使用して int に変換されます。
  • 今、これが私が立ち往生しているところです。int を 10 進数に変更したいと思います。しかし、それを行うには、それが 2 の補数の形式なのか、それとも単なる 2 進数なのかを知る必要があります。私はそれを行う方法がわかりません。

注:プロジェクトnand2tetrisは で行われますhdlが、私は C で行うことに慣れていました。また、上で述べた関数の多くはstackoverflow. とはいえ、デザインは私のものです。

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

google-sheets - Google スプレッドシートの補完

スプレッドシートへのリンクはこちら

タイトルが示すように、どうすれば値が一致しないセル、差/補数 (集合論) で終わることができますか?

FUNCTIONS のみでスクリプトを使用しない方がよいと思います。

または文字で

またはスペース付き。

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

c++ - C++ プログラム Booths Algorithm 2s 配列を使用した補数

論理的な問題が発生しているプログラムを含めました。プログラムはブースのアルゴリズムに基づいており、その一部を掲載しました。この「作業」スニペットでは、10 進数がユーザーから受け入れられ、配列 (a[0]=1 LSB) を使用して 10 進数形式に変換され、最後に配列 b[] の 2 の補数が計算されます。ここで、プログラムを実行すると:

出力

この出力では、6 行目が 0101 であると予想されますが、1101 になります。配列 b[] の値が変化するのはなぜですか? 5 行目の配列 b[] の値は正しいのに、なぜ変化するのでしょうか? コードによると、値は正しく変更されるべきではありませんか? 私は立ち往生..助けてください!! どんな提案でも大歓迎です!!