10진수를 입력으로 하여 주어진 10진수를 2진수로 변환하는 작업입니다.
컴퓨터의 10진수는 10진법으로 표시되고 2진법은 2진법 0과 1의 두 자리만 있기 때문에 2진법으로 표시되지만 십진수는 0 – 9부터 시작하는 모든 숫자가 될 수 있습니다.
10진수를 2진수로 변환하려면 주어진 단계를 따르십시오 -
- 먼저 주어진 숫자를 전환 숫자의 기본 값으로 나눕니다. 42를 밑이 2인 이진수로 변환한 다음 몫을 구하고 저장해야 하기 때문에 42를 2로 나눕니다. 나머지가 0이면 비트를 0으로 저장하고 그렇지 않으면 1을 저장합니다.
- 얻은 몫을 2진수의 기본 값인 2로 나누고 비트를 계속 저장합니다.
- 저장된 비트로 계속 오른쪽 이동
- 나머지가 나누어지지 않을 때까지 단계를 반복합니다.
아래는 10진수를 2진수로 변환한 그림입니다.
예시
Input-: 42 Divide the 42 with base 2 : 42 / 2 = 0 (remainder) 21(quotient) Divide quotient with base: 21 / 2 = 1(remainder) 10(quotient) Divide quotient with base: 10 / 2 = 0(remainder) 5(quotient) Divide quotient with base: 5 / 2 = 1(remainder) 2(quotient) Divide quotient with base: 2 / 2 = 0(remainder) 1(quotient) Now reverse the bits to obtain final value. Output-: 101010
알고리즘
Start Step 1-> declare function to convert decimal to binary int convert(int num) Loop For int i = 31 i >= 0 i— Set int k = num >> i If (k & 1) Print "1" End Else Print "0" End End Step 2-> In main() Declare and set int num = 42 Call convert(num) Stop
예시
#include <iostream> using namespace std; //convert decimal to binary int convert(int num) { for (int i = 31; i >= 0; i--) { int k = num >> i; if (k & 1) cout << "1"; else cout << "0"; } } int main() { int num = 42; convert(num); }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
00000000000000000000000000101010