Computer >> Máy Tính >  >> Lập trình >> lập trình C

Phần bù của 1 và 2 của một Số nhị phân?

Số nhị phân được thể hiện trong cơ số 2. Nó chỉ sử dụng hai chữ số ‘0’ và ‘1’. Mỗi chữ số trong một số nhị phân là một bit .

Số nhị phân mẫu - 0100010111

Phần bổ sung của 1

Phần bù của một số nhị phân thu được bằng cách đảo ngược các chữ số của số nhị phân, tức là biến đổi 1 với 0 và 0 với 1.

Ví dụ

Phần bổ sung của
1’s Complement of 101100 = 010011
Sự bổ sung của

2

Phần bù của hai số nhị phân có được bằng cách thêm một phần vào phần bù của một số nhị phân, tức là phần bù của 1 + 1.

Ví dụ

Phần bù của
2’s complement of 101101 is 010011.

Mã mẫu

Mã để tìm phần bổ sung của Một và hai -

#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;
}

Đầu ra

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