컴퓨터 시스템에서 2진수는 2진수 시스템으로 표현되고 8진수는 8진수 시스템으로 표현됩니다. 2진법은 2진법이고 8진법은 8진법입니다.
2진수 및 해당 8진수의 예는 다음과 같습니다. -
2진수 | 8진수 |
---|---|
01010 | 12 |
00111 | 7 |
11001 | 31 |
10000 | 20 |
2진수를 8진수로, 8진수를 2진수로 변환하는 프로그램은 다음과 같습니다. -
예시
#include <iostream> #include <cmath> using namespace std; int BinarytoOctal(int binaryNum) { int octalNum = 0, decimalNum = 0, count = 0; while(binaryNum != 0) { decimalNum += (binaryNum%10) * pow(2,count); ++count; binaryNum/=10; } count = 1; while (decimalNum != 0) { octalNum += (decimalNum % 8) * count; decimalNum /= 8; count *= 10; } return octalNum; } int OctalToBinary(int octalNum) { int decimalNum = 0, binaryNum = 0, count = 0; while(octalNum != 0) { decimalNum += (octalNum%10) * pow(8,count); ++count; octalNum/=10; } count = 1; while (decimalNum != 0) { binaryNum += (decimalNum % 2) * count; decimalNum /= 2; count *= 10; } return binaryNum; } int main() { int binaryNum = 1011, octalNum = 25; cout <<"Binary to Octal"<<endl; cout<<"Binary number: "<<binaryNum<<endl; cout<<"Octal number: "<<BinarytoOctal(binaryNum)<<endl; cout <<"Octal to Binary"<<endl; cout<<"Octal number: "<<octalNum<<endl; cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl; return 0; }
출력
위 프로그램의 출력은 다음과 같습니다 -
Binary to Octal Binary number: 1011 Octal number: 13 Octal to Binary Octal number: 25 Binary number: 10101
위의 프로그램에는 BinaryToOctal()과 OctalToBinary() 2개의 함수가 있습니다.
BinaryToOctal()은 주어진 이진수를 8진수로 변환합니다. 이것은 먼저 2진수를 10진수로 변환한 다음 10진수를 8진수로 변환하여 수행됩니다. 이것은 다음 코드 스니펫에서 볼 수 있습니다 -
int BinaryToOctal(int binaryNum) { int octalNum = 0, decimalNum = 0, count = 0; while(binaryNum != 0) { decimalNum += (binaryNum%10) * pow(2,count); ++count; binaryNum/=10; } count = 1; while (decimalNum != 0) { octalNum += (decimalNum % 8) * count; decimalNum /= 8; count *= 10; } return octalNum; }
OctalToBinary()는 주어진 8진수를 2진수로 변환합니다. 이것은 먼저 8진수를 10진수로 변환한 다음 10진수를 2진수로 변환하여 수행됩니다. 이것은 다음 코드 스니펫에서 볼 수 있습니다 -
int OctalToBinary(int octalNum) { int decimalNum = 0, binaryNum = 0, count = 0; while(octalNum != 0) { decimalNum += (octalNum%10) * pow(8,count); ++count; octalNum/=10; } count = 1; while (decimalNum != 0) { binaryNum += (decimalNum % 2) * count; decimalNum /= 2; count *= 10; } return binaryNum; }
main() 함수에서 2진수와 8진수가 제공됩니다. 그런 다음 BinaryToOctal() 및 OctalToBinary()를 각각 호출하여 해당 8진수 및 2진수를 계산합니다. 이것은 아래에 표시됩니다 -
int main() { int binaryNum = 1011, octalNum = 25; cout <<"Binary to Octal"<<endl; cout<<"Binary number: "<<binaryNum<<endl; cout<<"Octal number: "<<BinarytoOctal(binaryNum)<<endl; cout <<"Octal to Binary"<<endl; cout<<"Octal number: "<<octalNum<<endl; cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl; return 0; }