八进制转十进制

2456/8=307,余0;

307/8=38,余3;

38/8=4,余6; ?这个我很纳闷4.75 不是应该于7的吗怎么变成于6了

4/8=0,余4。 ?还有这个为什么是于4不是0.5吗

2456八进制转十进制 = 2*8*8*8 + 4*8*8 + 5*8 +6 = 1326.
(小数部分 用: 数 * 1.0/8.0 + 数 * 1.0/8.0/8.0 + 数 * 1.0/8.0/8.0/8.0 .....)
#include <stdio.h>
int main() {
int x= 02456; // 以0开始是八进制
printf("Oct:%o - Decimal:%d\n",x,x); //直接输出 八进制和十进制值
printf("Decimal %d\n", 2*8*8*8 + 4*8*8 + 5*8 +6); // 手算
return 0;
}
另外:
十进制到八进制 手算,整数部分用 除8取余数方法,小数部分用乘8取整的方法。
不要搞混淆了。
温馨提示:答案为网友推荐,仅供参考
相似回答