C 语言实例 - 八进制与二进制相互转换

C 语言教程 · 2019-02-20 22:58:59

八进制与二进制相互转换。

实例 - 二进制转换为八进制

#include <stdio.h> #include <math.h> int convertBinarytoOctal(long long binaryNumber); int main() { long long binaryNumber; printf("输入一个二进制数: "); scanf("%lld", &binaryNumber); printf("二进制数 %lld 转换为八进制为 %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; }

输出结果为:

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

实例 - 八进制转换为二进制

#include <stdio.h> #include <math.h> long long convertOctalToBinary(int octalNumber); int main() { int octalNumber; printf("输入一个八进制数: "); scanf("%d", &octalNumber); printf("八进制数 %d 转二进制为 %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; }

输出结果为:

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

点击查看所有 C 语言教程 文章: https://codercto.com/courses/l/17.html

查看所有标签

Parsing Techniques

Parsing Techniques

Dick Grune、Ceriel J.H. Jacobs / Springer / 2010-2-12 / USD 109.00

This second edition of Grune and Jacobs' brilliant work presents new developments and discoveries that have been made in the field. Parsing, also referred to as syntax analysis, has been and continues......一起来看看 《Parsing Techniques》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具