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

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

WBOY
풀어 주다: 2023-09-11 23:33:02
앞으로
1731명이 탐색했습니다.

이진수의 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿