www.rtmj.net > C语言 十进制数转换八进制 算法

C语言 十进制数转换八进制 算法

#include #include void main() { int n,a,sum = 0,i =0; printf("十进制输出一个数n\n"); scanf("%d",&n); while(n) { a = n%8; n = n/8; sum += a*pow(10,i); i++; } printf("八进制输出sum:%d",sum); }

方法一:直接使用控制字符串 %o 八进制%x 方法二: 求余来算,比如求十进制数 x(x>100) 的8进制,先通过 x%8 可以得到个位(末位)上的数,当十进制数等于8时,必然会进位,求余的结果正好是不能进位的部分,x=x/8(这就像位移,x的8进制数向右...

#include void dec2n(int x,int n){int a[33],i; for(i=0;x;x/=n)a[i++]=x%n; for(i--;i>=0;i--) if(a[i]

C语言程序十进制的数转换成八进制的数的办法: #include #include void main(){int n,a,sum = 0,i =0;printf("十进制输出一个数n\n");scanf("%d",&n);while(n){a = n%8;n = n/8;sum += a*pow(10,i);i++;}printf("八进制输出sum:%d",sum);}

#include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct {int *base;int *top;int stacksize;}Sqstack;void Initstack(Sqstack &s){s.base=(int *)malloc(STACK_INIT_SIZE * sizeof(int));if(!s.base)return;s.to...

好啊!我给你说说! 你可以这样写: #include"stdio.h" main() {int i; scanf("%o",&i); printf("%d",i); } 这样就可以了,其实你说的不过是数据输出中的转换字符的应用就是了。 其中: d 将参数以十进制的形式输出 o 将参数以无正负号八进制的...

这个是输出16以内任意进制的算法 #include "stdafx.h" #include #include #include char* fn(int n,int count ) { char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; char result[32]={'0'}; char rst[32]={'0'...

#include int main(){ int a[50]; int n,i=0; scanf("%d",&n); while(n) { a[i++] = n%8; n/=8; } while(--i>=0) { printf("%d ", a[i]); } return 0;}

字符型的数字转为十进制的数是用这个字符-'0'即可,反过来就是+'0',仅适用0~9的数字。 转八进制和十六进制需要通过十进制进行转换。

10进制数10转换为8进制的转换过程如下: 10/8 = 1 ....(余2) 1/8 = 0 ....(余1) (1/8中的1是上次运算的商) 所以10的8进制数为12 在C语言中,用012来表示8进制12,也即在8进制数的前面加一个数字0。如: int a=012;printf("%d", a); // 输出10

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com