>  기사  >  백엔드 개발  >  이진수의 1의 보수와 2의 보수는 무엇인가요?

이진수의 1의 보수와 2의 보수는 무엇인가요?

WBOY
WBOY앞으로
2023-09-11 23:33:021614검색

이진수의 1의 보수와 2의 보수는 무엇인가요?

2진수는 2진법으로 표현됩니다. "0"과 "1" 두 자리 숫자만 사용합니다. 이진수의 각 숫자는 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;
}

Output

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

위 내용은 이진수의 1의 보수와 2의 보수는 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제