zoukankan      html  css  js  c++  java
  • 进制转换小结

    1.十进制转成R进制。取余,然后倒序输出,注意10-15用A-F表示。

    例如 12(10) == 110(3)

    void itoa(int n, int R){
    	int a[M],i = 0;
    	while(n > 0){
    		a[i++] = n%R;
    		n /= R;
    	}
    	i--;
    	for(i; i >= 0; i--){
    		cout<<a[i];
    	}
    }
    

     2.二进制转换成R进制。取余,然后倒序输出。

    例如:111011001/111=1000011 余100,七进制数4
       1000011/111=1001 余100,七进制数4
       1001/111=1 余10,七进制数2
       1/111=0 余1,七进制数1
       (111011001)2=(1244)7

    (转换成4,8,16进制的时候,先补充0,直接2,3,4位一取,换成十进制数,注意10-15用A-F表示)

    例如: 11101010 (2)  == 1110 1010 == EA (16) 

        11101010 (2)  == 011 101 010 == 352 (8)

           11101010 (2)  == 11 10 10 10 == 3222 (4)

    3.R进制转换成10进制

    abcd(R) == a * pow(R,3) + B * pow(R,2) + C * pow(R,1) + D * pow(R,0)

    4.补充一个c语言里面的进制转换函数 _itoa(int , char *, R)  (在头文件cstdlib里面。  #include<cstdlib>  )

    函数的三个参数,第一个是被转换的数,第二个是转化结果的地址,第三个是目标进制。

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){
    	char s[100];
    	itoa(15,s,2);
    	cout<<s<<endl;
    	return 0;
    }
    
  • 相关阅读:
    svn问题(队列)
    linux的七大运行级别及级别修改
    Elasticsearch配置文件说明
    openstack-swift云存储部署(二)
    openstack-swift云存储部署(一)
    今天发现一些很有意思的ubuntu命令
    python使用xlrd 操作Excel读写
    Python初记
    SQL Server常用命令
    SQL Server 流程控制
  • 原文地址:https://www.cnblogs.com/stul/p/9975523.html
Copyright © 2011-2022 走看看