- [一.十进制和八进制区别]
- [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
请按任意键继续. . .
*/