C语言 十进制和八进制相互转换 - C语言零基础入门教程

  • [一.十进制和八进制区别]
    • [1、基数不同]
    • [2、有效字符不同]
    • [3、用途不同]
  • [二.十进制转八进制]
  • [三.八进制转十进制]
  • [四.猜你喜欢]

零基础 C/C++ 学习路线推荐 : [C/C++ 学习目录]>> [C 语言基础入门]

一.十进制和八进制区别

1、基数不同

十进制满10进1;
八进制满8进1;

2、有效字符不同

十进制有效字符有10个:0,1,2,3,4,5,5,6,7,8,9; //最大值是9
八进制有效字符有8个:0,1,2,3,4,5,5,6,7  //最大值是7

3、用途不同

计算机只能用二进制存储和运算,在设计程序时二进制不容易读,所以可以采用八进制和十六进制来帮助编程,计算机再翻译成二进制数来用。

[C]/[C++]编程中比较常用的是:十进制、二进制、[八进制]、十六进制,其中八进制也用得比较少。

二.十进制转八进制

/******************************************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include <math.h>

int main()
{
    int num, m, c, i = 0;
    int n = 8;
    int a[32];
    printf("输入一个整数:");
    scanf_s("%d", &num);
    m = num;
    while (num > 0)
    {
        c = (num % n);
        a[i] = c;
        num = num / n;
        i++;
    }
    printf("十进制数%d转换成八进制数是:", m);
    for (i--; i >= 0; i--)           //将数组倒序输出
        printf("%d", a[i]);
    printf("\n");
    system("pause");
    return 0;
}
/*
输入一个整数:342391
十进制数342391转换成八进制数是:1234567
输入一个整数:83
十进制数83转换成八进制数是:123
输入一个整数:302
十进制数302转换成八进制数是:456
请按任意键继续. . .
*/

三.八进制转十进制

/******************************************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include <math.h>

int main()
{
    int n, a;
    int sum = 0, i = 0, m;
    printf("输入一个八进制数: ");
    scanf_s("%d", &n);
    a = n;
    while (n != 0)
    {
        m = n % 10;
        n /= 10;
        sum += m*pow(8, i);
        ++i;
    }
    printf("八进制数 %d 转换为十进制为 %d\n", a, sum);
    system("pause");
    return 0;
}
/*
输入一个八进制数: 1234567
八进制数 1234567 转换为十进制为 342391
输入一个八进制数: 123
八进制数 123 转换为十进制为 83
输入一个八进制数: 456
八进制数 456 转换为十进制为 302
请按任意键继续. . .
*/
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙年行大运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值