ホームページ >バックエンド開発 >C++ >2進数の1の補数と2の補数は何ですか?

2進数の1の補数と2の補数は何ですか?

WBOY
WBOY転載
2023-09-11 23:33:021733ブラウズ

2進数の1の補数と2の補数は何ですか?

2 進数は基数 2 で表されます。使用するのは「0」と「1」の 2 桁のみです。 2 進数の各桁は bit です。

2 進数の例 - 0100010111

1 の補数

2 進数の補数は、2 進数の桁を反転することによって得られます。つまり、1 は 0 に変換されます。 0を変換すると1として得られます。

1’s Complement of 101100 = 010011

2の補数

2進数の補数は、2進数に1を加えた補数、つまり1の1の補数です。

2’s complement of 101101 is 010011.

サンプルコード

1と2の補数を見つけるコード -

#include <iostream>
#include<string.h>
using namespace std;
int main() {
   char binary[10] = "01001011";
   cout<<&ldquo;Binary number is &rdquo;<<binary;
   //once complement....
   int length = strlen(binary);
   for(int i=0;i<length;i++) {
      if(binary[i] == &#39;0&#39;) {
         binary[i]= &#39;1&#39;;
      } else
         binary[i] = &#39;0&#39;;
   }
   cout<<&ldquo;One&rsquo;s Complement is &rdquo;<<binary<<endl;
   // cout<<binary[length-1];
   for(int i = length-1; i>=0; i--) {
      // cout<<binary[i];
      if(binary[i] == &#39;0&#39;) {
         binary[i] = &#39;1&#39;;
         //cout<<binary[i];
         break;
      } else {
         binary[i] = &#39;0&#39;;
      }
   }
   cout<<&ldquo;Two&rsquo;s complement is &rdquo;<<binary;
   return 0;
}

出力

Binary number is 01001011
One&rsquo;s complement is 10110100
Two&rsquo;s complement is 10110101

以上が2進数の1の補数と2の補数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。