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

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

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

include

include

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

include

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;

}

相关文章
|
6月前
|
存储 C语言
C语言实现二进制到十进制
C语言实现二进制到十进制
67 0
|
6月前
|
Ubuntu 编译器 Linux
C语言中经典的结构体和联合体共用实例
C语言中经典的结构体和联合体共用实例
58 0
|
6月前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
57 1
|
5月前
|
C语言
C语言---二进制位置0或者置1
C语言---二进制位置0或者置1
|
5月前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
5月前
|
C语言
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
|
5月前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
5月前
|
存储 C语言
C语言---求一个整数存储在内存中的二进制中1的个数--3种方法
C语言---求一个整数存储在内存中的二进制中1的个数--3种方法
|
6月前
|
C语言
C语言循环结构程序设计详解及代码实例
C语言循环结构程序设计详解及代码实例
150 0
|
6月前
|
存储 C语言 索引
C语言一维数组与二维数组详解及代码实例
C语言一维数组与二维数组详解及代码实例
65 0