Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 숫자의 총 비트 수 계산


우리에게 num이라는 정수가 주어지고 작업은 먼저 숫자의 이진수를 계산하고 숫자의 총 자릿수를 계산하는 것입니다.

입력 - 정수 =50

출력 − 숫자의 총 비트 수는 − 6입니다.

설명 − 숫자 50의 이진 표현은 110010이고 8자리 숫자로 계산하면 처음에 두 개의 0이 추가됩니다. 따라서 숫자의 총 비트는 6입니다.

입력 - 정수 =10

출력 − 숫자의 총 비트 수는 − 6입니다.

설명 − 숫자 10의 이진 표현은 00001010이고 8자리 숫자로 계산하면 처음에 4개의 0이 추가됩니다. 따라서 숫자의 총 비트는 4입니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 정수형 변수에 숫자 입력

  • unsigned int

    유형의 총 비트 수를 저장할 변수 count 선언
  • 시작 루프 FOR i에서 1<<7 및 i> 0 및 i에서 i / 2

  • 루프 내에서 num &1 ==TRUE를 확인한 다음 1을 인쇄하고 그렇지 않으면 0을 인쇄합니다.

  • 숫자가 0이 아닐 때까지 총 비트 수를 계산하는 동안 루프 시작

  • 루프 내에서 count 값을 1씩 증가시키고 숫자>>=1

    을 설정합니다.
  • 카운트 인쇄

#include
using namespace std;
//Count total bits in a number
unsigned int bits(unsigned int number){
   unsigned int count = 0;
   unsigned i;
   //display the total 8-bit number
   cout<<"8-bit digits of "<<number<<" is: ";
   for (i = 1 << 7; i > 0; i = i / 2){
      (number & i)? cout<<"1": cout<<"0";
   }
   //calculate the total bits in a number
   while (number){
      count++;
      number >>= 1;
   }
   cout<<"\nCount of total bits in a number are: "<<count;
}
int main(){
   int number = 50;
   bits(number);
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다 -

8-bit digits of 50 is: 00110010
Count of total bits in a number are: 6