首页 > 代码库 > 任意进制转换简单理解
任意进制转换简单理解
规则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 }
任意进制转换简单理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。