C Language Examples - Octal and Binary Conversion

C Language Examples

Convert between octal and binary.

Example - Binary to Octal Conversion

#include <stdio.h> #include <math.h> int convertBinarytoOctal(long long binaryNumber); int main() { long long binaryNumber; printf("Enter a binary number:"); scanf("%lld", &binaryNumber); printf("Binary number %lld converted to octal is %d", binaryNumber, convertBinarytoOctal(binaryNumber)); return 0; } int convertBinarytoOctal(long long binaryNumber) { int octalNumber = 0, decimalNumber = 0, i = 0; while(binaryNumber != 0) { decimalNumber += (binaryNumber%10) * pow(2,i); ++i; binaryNumber/=10; } i = 1; while (decimalNumber != 0) { octalNumber += (decimalNumber % 8) * i; decimalNumber /= 8; i *= 10; } return octalNumber; }

The output result is:

输入一个二进制数: 101001
二进制数 101001 转换为八进制为 51

Example - Octal to Binary Conversion

#include <stdio.h> #include <math.h> long long convertOctalToBinary(int octalNumber); int main() { int octalNumber; printf("Enter an octal number:"); scanf("%d", &octalNumber); printf("Octal number %d converted to binary is %lld", octalNumber, convertOctalToBinary(octalNumber)); return 0; } long long convertOctalToBinary(int octalNumber) { int decimalNumber = 0, i = 0; long long binaryNumber = 0; while(octalNumber != 0) { decimalNumber += (octalNumber%10) * pow(8,i); ++i; octalNumber/=10; } i = 1; while (decimalNumber != 0) { binaryNumber += (decimalNumber % 2) * i; decimalNumber /= 2; i *= 10; } return binaryNumber; }

The output result is:

输入一个八进制数: 51
八进制数 51 转二进制为 101001

C Language Examples

other extensions