zoukankan      html  css  js  c++  java
  • 任意进制转换简单理解

    规则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 }
  • 相关阅读:
    resin
    tomcat
    vba打开输入文件
    获取文件夹下所有文件2
    获取文件夹下所有文件
    修改Execl中sheet名的指定字符串为指定字符串
    SpringMVC入门到精通(一)
    Java JDBC
    Java反射
    Java日期格式化
  • 原文地址:https://www.cnblogs.com/xuaidongstdudyrecording/p/7091880.html
Copyright © 2011-2022 走看看