码迷,mamicode.com
首页 > 其他好文 > 详细

任意进制转换简单理解

时间:2017-06-28 23:10:49      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:result   简单   str   字符   div   clu   main   color   小数   

规则1:任意进制转10进制都是当前位数乘以当前位权重

规则2:N进制转M进制根据前值除/M的值,然后取M进制余数为当前位,小数位就是后乘取整;(基本就是这个思想)

 

首先,实现任意进制转其他进制,最好先转到10进制在操作比较方便;

 

目前代码只实现10->36 思想是一样的使用递归计算- -改变除数(/N)和求的余数(/M),然后根据逻辑值对应字符表示就是- -,楼主目前不知道Z以上怎么表示- -所以懵

 

 

 1 #include <iostream>
 2 
 3 
 4 void turnto36(int nums)
 5 {
 6     if(nums<=0)
 7     {
 8         std::cout<<"0";
 9         return;
10     }
11     turnto35(nums/36);
12     int result=nums%36;
13 
14     if(result<=9)
15     {
16         std::cout<<(char)(result+0);
17     }else
18     {
19         std::cout << (char) (result+0+ (A-9)-1);
20     }
21 }
22 
23 
24 int main(int argc,char**argv)
25 {
26 
27     turnto36(10);
28     std::cout<<std::endl;
29 
30 
31     std::cout<<(5678/10)%10<<std::endl;
32 
33 }

 

任意进制转换简单理解

标签:result   简单   str   字符   div   clu   main   color   小数   

原文地址:http://www.cnblogs.com/xuaidongstdudyrecording/p/7091880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!