精华内容
下载资源
问答
  • 本文实例讲述了Python中不同进制的语法及转换方法。分享给大家供大家参考,具体如下: 不同进制的书写方式 ① 八进制(Octal) 0o377 ② 十六进制(Hex) 0xFF ③ 二进制(Binary) 0b11111111 不同进制之间的转换 Python...
  • 主要介绍了Python中不同进制互相转换,本文讲解了二进制、八进制、十进制和十六进制的相与转换实现代码,需要的朋友可以参考下
  • shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以...
  • C语言:不同进制转换

    千次阅读 2016-11-18 15:28:40
    //不同进制转换 #include int i=0; int main() { int num; int kind; while(scanf("%d%d",&num,&kind)!=EOF) { i=0; if(num) { printf("-"); num = -
    //不同进制转换
    #include <stdio.h>
    int i=0;
    int main()
    {
        int num;
        int kind;
        while(scanf("%d%d",&num,&kind)!=EOF)
        {
            i=0;
            if(num<0)
            {
                printf("-");
                num = -num;
            }
            turn(num,kind);
            printf("\n");
        }
    
    
    }
    int turn(int num,int kind)
    {
        if(num==0)
        {
            if(i==0)
                printf("0");
            return;
        }
        i++;
        turn(num/kind,kind);
        if(num%kind<=9)
            printf("%d",num%kind);
        else
            printf("%c",num%kind+55);
    }
    

    Description

    输入一个十进制数N,将它转换成R进制数输出。

    Input

    输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

    Output

    为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

    Sample Input

    7 2
    23 12
    -4 3

    Sample Output

    111
    1B
    -11
    展开全文
  • 用栈实现进制转换

    2017-10-04 17:03:44
    该资源利用栈的知识实现了进制转换,包含栈的建立,清空,压栈,出栈等基本操作,以及辗转相除法求余数
  • C语言实现不同进制之间的转换说明运行环境1.十进制转二进制2.二进制转换成十进制数3.十进制数转换成十六进制数4.十六进制数转换成十进制数 说明 1.进制转换目前只限于非负数之间的转换(带负数的转换难度过大) 2....

    说明

    1.进制转换目前只限于非负数之间的转换(带负数的转换难度过大)
    2.代码中变量命名可能不太规范,部分过程和注释可能略显冗余,仅供大家参考

    运行环境

    Visual Studio 2019

    1.十进制转二进制

    (1)代码如下

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int bit10_num;//表示键盘输入的十进制数的变量
    	int a[1000] = {0};//定义一个足够大的整形数组,用来存储十进制数转换的二进制数每一位的值(倒序)
    	int bit_num;//记录十进制转换成的二进制的位数
    	int n;//用来自除2的变量
    	int j;//用来倒序打印输出的递减变量
    	while (printf("请输入十进制数字(连按三次Ctrl+Z加回车操作结束输入):"), scanf("%d", &bit10_num) != EOF)
    	{
    		if (bit10_num == 0)//输入的十进制为0时的判断,直接打印0,并进入下一循环
    		{
    			printf("转换成的二进制数为:0\n\n");
    			continue;
    		}
    		n = bit10_num;//将键盘输入的十进制数的值赋给变量n
    		bit_num = 0;//初始二进制位数为0
    		while (n >= 1)//变量n不断自除2,直至<1终止循环
    		{
    			a[bit_num] = n % 2;//将每次n除以2的余数(即二进制最低位)记录在数组内
    			n = n / 2;//n自除2
    			bit_num++;//二进制位数加1
    		}
    		printf("转换成的二进制数为:");
    		for (j = bit_num - 1; j > -1; j--)//倒序从高到低打印出二进制数
    		{
    			printf("%d", a[j]);
    		}
    		printf("\n\n");//加两个换行符
    	}
    	return 0;
    }
    

    (2)运行结果如下
    十进制转二进制

    2.二进制转换成十进制数

    (1)代码如下

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int bit2_num, bit10_num;//用来记录二进制数字和转换后的十进制数字
    	int m,n;//两个用来自除的变量
    	int bit2;//记录二进制数字的位数
    	int j,k;//j为循环自增变量,k为循环自乘2变量
    	int a[1000] = { 0 };//足够大的数组,用来记录输入的二进制数每一位的值
    	while (printf("请输入二进制数字(连按三次Ctrl+Z加回车操作结束输入):"), scanf("%d", &bit2_num) != EOF)
    	{
    		bit10_num = 0;//赋值为0
    		bit2 = 0;//初始二进制数字的位数为0
    		m = bit2_num;//将键盘输入的二进制数的值赋给变量m
    		while (m != 0)//变量m不断自除10,直至=0终止循环
    		{
    			n = m;//将每次循环m的值赋给n
    			while (n >= 10)//n不断自除,直到小于10终止,最后即为m最高位的余数
    			{
    				n = n % 10;
    			}
    			a[bit2] = n;//把余数存储到数组内
    			bit2++;//位数递增
    			m = m / 10;//m自除10
    		}
    		for (j = 0, k = 1; j < bit2; j++, k *= 2)//循环相加得到最终转换后十进制的值
    		{
    			bit10_num += a[j] * k;//每一位乘以2的k次幂,直至最高
    		}
    		printf("转换成的十进制数为:");
    		printf("%d\n", bit10_num);//打印转换成十进制后的值
    	}
    	return 0;
    }
    
    
    

    (2)运行结果如下
    二进制转换成十进制数

    3.十进制数转换成十六进制数

    (1)代码如下

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    int main()
    {
    	int bit10_num;//表示键盘输入的十进制数的变量
    	int m;//用来自除16的变量
    	int i;//记录十进制转换成的十六进制的位数
    	int j;//用来倒序打印输出的递减变量
    	char c[16] = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' };//十六进制的字符数组
    	int a[1000] = { 0 };//定义一个足够大的整形数组,用来存储十进制数转换的十六进制数每一位的值(倒序)
    	while (rewind(stdin), printf("请输入十进制数字(连按三次Ctrl+Z加回车操作结束输入):"), scanf("%d", &bit10_num) != EOF)
    	{
    		i = 0;//初始十六进制位数为0
    		m = bit10_num;//将键盘输入的十进制数的值赋给变量n
    		while (m != 0)//变量n不断自除16,直至=0终止循环
    		{
    			a[i] = m % 16;//将每次n除以16的余数(即十六进制最低位)记录在数组内
    			m = m / 16;//m自除16
    			i++;//十六进制位数加1
    		}
    		printf("转换成的十六进制数为:");
    		for (j = i-1; j > -1; j--)//倒序从高到低打印出十六进制数
    		{
    			printf("%c", c[a[j]]);
    		}
    		if (bit10_num == 0)
    		{
    			printf("0");
    		}
    		printf("\n\n");//加两个换行符
    	}
    	return 0;
    }
    

    (2)运行结果如下
    十进制数转换成十六进制数

    4.十六进制数转换成十进制数

    (1)代码如下

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #define N 50
    
    int main()
    {
    	char s[N];//足够大的字符数组,用来记录每次输入的十六进制数
    	int i;//用于循环遍历的增量
    	int t;//用来记录每次遍历的字符所对应的十进制值
    	int bit10_num;//记录转换的十进制数的数值
    	while (rewind(stdin), printf("请输入十六进制数字(连按三次Ctrl+Z加回车操作结束输入):"), scanf("%s", &s) != EOF)
    	{
    		bit10_num = 0;//赋初值为0
    		for (i = 0; s[i]; i++)
    		{
    			t = 0;//赋初值为0
    			if (s[i] >= '0' && s[i] <= '9') //判断是否在0-9字符之间
    			{
    				t = s[i] - '0';
    			}
    			if (s[i] >= 'a' && s[i] <= 'z')//判断是否在a-z字符之间
    			{
    				t = s[i] - 'a' + 10;
    			}
    			if (s[i] >= 'A' && s[i] <= 'Z')//判断是否在A-Z字符之间
    			{
    				t = s[i] - 'A' + 10;
    			}
    			bit10_num = bit10_num*16 + t;
    		}
    		printf("转换成的十进制数为:%d\n\n",bit10_num);//打印转换成的十进制数
    	}
    }
    

    (2)运行结果如下
    十六进制数转换成十进制数

    展开全文
  • 不同进制之间的转换

    千次阅读 2020-10-11 22:14:35
    (一)进制分类 二进制:基数为2,2个记数符号,即0和1。“逢二进一”,二进制在数字后加上字母B,例如:101.1B 八进制:基数为8,8个记数符号,即0、1、2、3、…7。“逢八进一”,八进制在数字后加上O,为了与0区分,...

    (一)进制分类

    二进制:基数为2,2个记数符号,即0和1。“逢二进一”,二进制在数字后加上字母B,例如:101.1B

    八进制:基数为8,8个记数符号,即0、1、2、3、…7。“逢八进一”,八进制在数字后加上O,为了与0区分,可以改为Q。例如:32.7Q

    十进制:基数为10,10个记数符号,即0、1、2、3、4、…9。“逢十进一”,十进制在数字后加上字母D,也可以不加,例如543.8D

    十六进制:基数为16,16个记数符号,即0~9 、A~F 其中A~F对应十进制的 10~15 。“逢十六进一”,十六进制在数后加上H,在数前加上0x,例如0xB71.FH

    进制基数数值表示举例
    二进制20和1二进制在数字后加上字母B101.1B
    八进制80、1、2、3、…7八进制在数字后加上O,为了与0区分,可以改为Q32.7Q
    十进制100、1、2、3、4、…9十进制在数字后加上字母D,也可以不加543.8D
    十六进制160~9 、A~F十六进制在数后加上H,在数前加上0x0xB71.FH

    (二)不同进制之间的转换

    二进制与十进制

    (一)二进制转十进制

    按权对位展开相加
    

    eg:
    在这里插入图片描述

    (二)十进制转二进制

    十进制整数转换方法:除二取余法,把十进制整数反复除以2,直到商为0,所得到的余数从下至上就是该十进制数的二进制表示。
    十进制小数转换方法:乘二取整法,把十进制小数乘以2,取出乘积的整数,如果小数部分仍不为0或所要求的精度,继续乘2,
                      所得到的整数从上至下就是该十进制数的二进制表示
    

    eg:在这里插入图片描述

    在这里插入图片描述

    二进制与八进制

    (一)二进制转八进制

    整数位从右向左,不足三位高位补0,小数位从左向右,不足三位低位补0,每3位二进制数可以转为1位八进制数。
    

    在这里插入图片描述

    (二)八进制转二进制

    每1位八进制数可以转为3位二进制数。
    在这里插入图片描述

    二进制与十六进制

    (一)二进制转十六进制

    整数位从右向左,不足四位高位补0,小数位从左向右,不足四位低位补0,每4位二进制数可以转为1位十六进制数。
    

    在这里插入图片描述

    (二)十六进制转二进制

    每1位十六进制数可以转为4位二进制数。

    //注:八进制和十六进制数之间的转换,可以先将数转换成二进制,再进行相应的转换

    展开全文
  • 王道计算机机试——任意不同进制转换 题目描述 求任意两个不同进制非负整数的转换( 2 进制~ 16 进制),所给整数在 long 所能表达的范围之内。不同进制的表示符号为( 0,1,…,9,a,b,…,f)或 者(0,1,…...

    王道计算机机试——任意不同进制转换

    题目描述

    求任意两个不同进制非负整数的转换( 2 进制~ 16 进制),所给整数在 long 所能表达的范围之内。不同进制的表示符号为( 0,1,…,9,a,b,…,f)或 者(0,1,…,9,A,B,…,F)。
    输入: 输入只有一行,包含三个整数 a,n,b。a 表示其后的 n 是 a 进制整数, b 表示欲将 a 进制整数 n 转换成 b 进制整数。 a,b 是十进制整数, 2 =< a,b <= 16。
    输出: 可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转 换后的 b 进制数。输出时字母符号全部用大写表示,即( 0,1,…,9,A,B,…, F)。
    样例输入:
    15 Aab3 7 样例输出:
    210306

    题目思路

    为了完成两个进制之间的转换,我们将这个转换分为两步:首先将a进制转换为十进制,再将得到的十进制数转换为 b进制。
    我们按照如下过程完成其它进制向十进制的转换:利用一个变量 c依次计算 每个数位权重,它的初始值为 1,每经过一位就累乘进制数 a,使表示权重的变量 c依次等于 1、a、a2、a3…;从低位到高位依次遍历各个数位上的数字,同时 将其与当前位的权重(即变量 c)相乘;最后依次累加所得到的积,即可得到由 十进制表示的数字。

    代码

    #include<iostream>
    #include<string>
    using namespace std;
    int main() {
    	int a, b;
    	char str[40];
    	while (cin >> a >> str >> b) {
    		int tmp = 0, length = strlen(str), c = 1;//tmp为我们要计算的a进制对应的十进制数
    		//length为字符串长度,方便我们从低位到高位遍历每个数位上的数
    		//c为各个数位的权重初始化为1,表示最低位的权重为1,之后的每位权重都是前一位权重的a倍
    		for (int i = length - 1; i >= 0; i--) {//从低位到高位遍历每个数位上的数
    			int x;//计算该位上的数字
    			if (str[i] >= '0' && str[i] <= '9') {
    				x = str[i] - '0';//当字符在0到9之间,计算其代表的数字
    			}
    			else if (str[i] >= 'a' && str[i] <= 'z') {
    				x = str[i] - 'a' + 10;//当字符为小写字母时,计算其代表的数字
    			}
    			else {
    				x = str[i] - 'A' + 10;//当字符为大写字母时,计算其代表的数字
    			}
    			tmp += x * c;//累加
    			c = c * a;//计算下一位权值
    		}
    		char ans[40], size = 0;//用ans保存转换到b进制的各个数位数字
    		do {
    			int x = tmp % b;//计算该位数字
    			ans[size++] = (x < 10) ? x + '0' : x - 10 + 'A';//将数字转换为字符
    			tmp /= b;
    		} while (tmp);
    		for (int i = size - 1; i >= 0; i--) {
    			cout << ans[i];
    		}
    		cout << endl;
    	}
    	return 0;
    }
    
    
    展开全文
  • #此脚本的作用是为了不同进制之间相互进行转化,已经封装成函数,要用时,自己修改数据和引用函数 ' s=[12,34,45]; #10进制数组 #10进制转为2进制 def baseTo2(s): for i in s: print("转换为二进制为:\t", bin...
  • 不同进制之间的转换(完整版)

    千次阅读 2019-09-30 21:29:15
    进制转换为八进制: 二进制 八进制 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 二进制转八进制时整数部分,将二进制小数点左边从低位到高位,三位一组,不足三位左边补0,然后利用...
  • C语言不同进制转换

    2021-06-21 22:27:11
    C语言不同进制转换1 十六进制转十进制 1 十六进制转十进制 #include "stdio.h" int main() { int value_high=0x7a8; int g,s,b; int sum; g=(value_high/256 ); s=(value_high%256/16); b= value_high%16; ...
  • 进制转换(栈实现)

    2017-07-08 15:12:04
    利用栈实现进制转换,支持16进制以下进制(2-10、16),更改相应的参数还可扩展其他进制转换,还可以通过更改宏定义来扩宽进制转换的数据范围。用户通过输入想要转换的进制和待转换的数字
  • 主要介绍了使用Python内置模块与函数进行不同进制的数的转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 不同进制数之间的转换

    千次阅读 2019-11-19 15:34:52
    一、都有哪些进制? ①二进制: 只有0.1两个数字,以0b开头; ②八进制: 0.1.2.3.4.5.6.7,以0开头;...二、十进制转换 ...1、十进制转换任意进制: 给目标数字除以进制数,写余数,除到商为0,余数颠倒; 例如: 18...
  • 不同进制相互转换

    2021-03-18 09:03:26
    将二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的...
  • 不同进制转换方法

    2012-06-18 23:15:21
    在日常的生活中,人们最常用的是十进制的数据,但是在计算机中,有时需要使用二进制、八进制和十六进制等不同进制的数据;该程序实现不同进制的数据之间的相互转换
  • 进位制简介 常见的进位制有2进制、8进制、10进制和16进制...进位制的转换 实际代码 def scaleConvert(num, start, end): ''' 功能: 将start进制的num转化成与之相等的end进制数 参数: num: 需要被转化的数 start:
  • 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字...
  • 任意制转十进制 举例: 十进制—>各种进制 整数部分 小数部分 十进制转二进制(拼凑法) 二进制<—>八进制、十六进制进制—>八进制、十六进制 从小数点开始向两边凑,不够的话补零 八进制、...
  • 最近项目组让我来做安全认证模块(SAS),因为涉及到算法领域,所以与字节转换密切相关,这里我需要明确1字节、16进制、2进制之间的关系,如下所示: ∵ 1byte=8bit=128+64+32+16+8+4+2+1=255(无符号2进制) ∵ 1...
  • 包含ASIIC、16进制,数值,字符串互转;二进制,十六进制互转;十进制显示的十六进制格式字符串转Labview所识别的十六进制,通讯下位机必备技能。总共8个VI!
  • C++不同进制间的转换

    2020-07-09 17:15:43
    1)使用iostream中的控制符实现以不同基数形式输出 控制符 功能 oct 用八进制数表示法输入或输出数值 dec 用十进制数表示法输入或输出数值 hex 用十六进制数表示法输入或输出数值 #include<...
  • 各进制组成 二进制组成 以0b开头,由0,1组成,0b10101011。 八进制组成 以0开头,由0,1,2,……,7...十进制转换成其他进制 首先,将十进制除以该进制的基数取余数,直到商为0,然后把先得到的余数作为低...
  • 主要介绍了使用Python内置的模块与函数进行不同进制的数的转换的方法,Python也使得读取纯二进制文件内容非常方便,需要的朋友可以参考下
  • 格雷码的进制转换

    2018-09-28 14:18:41
    用于格雷码的转换,二进制与格雷码,十进制与格雷码。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 529,221
精华内容 211,688
关键字:

不同进制如何转换