马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
十进制数N和其他d进制数的转换是计算机实现计算的基本问题,其解读方法很多,其中一个简单算法基于下列原理: N=(N div d)×d+N mod d(其中:div为整除运算,mod为求余运算) 例如:(1348)10=(2504)8.其运算过程如下: N | N div 8 | N mod 8 | 1348 | 168 | 4 | 168 | 21 | 0 | 21 | 2 | 5 | 2 | 0 | 2 |
假设现在要编址一个满足下列要求的程序:对于输入的位置一个非负十进制整数,打印输出与其等值的八进制数。由于上述计算过程是从低位到高位顺序产生八进制数的各个数位,而打印输出,一般来说应从高位到低位进行,恰好和计算过程相反。因此,若将计算过程中的得到的八进制数的各位顺序进栈,则按出栈序列打印出输出的即为与输入对应的八进制数。 void conversion(){ //对于输入的任何一个非负十进制整数,打印输出与其等值的八进制数 InitStack(S); //构造空栈 scanf ("%d",N); while(N){ Push(S,N%8); N=N/8; } while(!StackEmpty(s)){ Pop(S,e); printf("%d",e); } }//conversion 凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com。 |