Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

2進数の1と2の補数?


2進数は基数2で表されます。2桁の「0」と「1」のみを使用します。 2進数の各桁はビットです 。

サンプルの2進数− 0100010111

1の補数

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

1’s Complement of 101100 = 010011

2の補数

2進数の2の補数は、2進数の1の補数に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<<“Binary number is ”<<binary;
   //once complement....
   int length = strlen(binary);
   for(int i=0;i<length;i++) {
      if(binary[i] == '0') {
         binary[i]= '1';
      } else
         binary[i] = '0';
   }
   cout<<“One’s Complement is ”<<binary<<endl;
   // cout<<binary[length-1];
   for(int i = length-1; i>=0; i--) {
      // cout<<binary[i];
      if(binary[i] == '0') {
         binary[i] = '1';
         //cout<<binary[i];
         break;
      } else {
         binary[i] = '0';
      }
   }
   cout<<“Two’s complement is ”<<binary;
   return 0;
}

出力

Binary number is 01001011
One’s complement is 10110100
Two’s complement is 10110101

  1. 日を月と日数に変換するCプログラム

    ユーザーは合計日数を入力する必要があります。合計日数を月に変換し、翌月の残りの日数に変換する必要があります。 日を月に変換する式は次のとおりです- 月=日/30 次の月の残りの日を見つけるロジックは次のとおりです- 日=日%30 アルゴリズム 日を月と日数に変換するには、以下のアルゴリズムを参照してください。 Step 1: Start Step 2: Declare month and days Step 3: Read total number of days Step 4: Compute months    months=days/30 Step 5:

  2. C言語を使用して文字列を数値に変換し、数値を文字列に変換する

    問題 Cプログラミング言語での文字列から数値への変換および数値から文字列への変換とはどういう意味ですか? 解決策 変換に使用できる関数は2つあります。彼らは- sscanf()-文字列を数値に変換します sprintf()-数値を文字列に変換するために使用されます 文字列から数値への変換 sscanf()関数を使用して文字列を数値に変換できます- 構文 sscanf (string name, “control string”,variable list) 例 #include<stdio.h> main (){