-
python十进制转换任意进制_python 十进制转换成任意进制
2020-11-29 17:05:32记得大学时代,参加学校举行的编程大赛,其中有道题是:编写一函数,实现十进制转换成十六进制。看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,...记得大学时代,参加学校举行的编程大赛,其中有道题是:
编写一函数,实现十进制转换成十六进制。
看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道题。下面使用两种方法分别实现:
一、循环
defdecimalToNBaseByNormal(decimalVar, base):
tempList =[]
temp =decimalVar
i =0
while (temp >0):
ord = temp %base
if (ord > 9): #如果余数大于9,则以字母的形式表示
ord = chr(65 + (ord - 10)) #把数字转换成字符
tempList.append(ord)
temp = int(temp /base)
i = i + 1tempList.reverse();
#print(tempList)
binary = ""
for j inrange(len(tempList)):
binary = binary +str(tempList[j]);
print("the decimal is: %d and after convering by %d base is %s"%(decimalVar, base, binary))
里面要注意的一点就是,当余数大于9时,要转换成字符表示;用循环的方法实现,思路非常清晰,至于转换算法这里就不多介绍,可以看参考[1];在该实现过程中碰到的问题是,怎么把数字转换成字符;当然首先是ascii对应表,转换方法如下:
ord = chr(65 + (ord - 10))
其中,ord为余数,转换后就对应ascii从A开始的字符,python 3.3中可以使用chr函数直接转换成字符
二、递归
defdecToNBaseByRecursion(dec, base):
if (dec ==0):
returndecToNBaseByRecursion(int(dec/base), base)
ord = dec %base
if (ord > 9):
ord = chr(65 + (ord - 10))
sys.stdout.write(str(ord))
递归方法,实现使得代码非常简洁,但理解起来不是那么简单;递归实现过程中,碰到一个输出问题,python 3.3中,函数print默认自动换行,网上后面加逗号的方法,试了无效,所以直接使用stdout输出,这就要在使用import sys。
主代码:
importsys
defmain():
decimal = eval(input("please input the decimal for converting binary: "))
base = eval(input("please input base: "))
decimalToNBaseByNormal(decimal, base)
decToNBaseByRecursion(decimal, base)
python版本 3.3
上面的链接是code.google,不翻是上不去的,我朝”伟大的杰作“啊!
python刚入门,只考虑运行结果,没有考虑任何性能问题,有不正的地方,请指正!
当然python里面有更简单的函数直接输出:
二进制 bin()
八进制 oct()
十六进制 hex()
未完待续:任意进制转换成十进制
-
进制转换python实验五_python进制转换:十进制转二进制的用法
2020-12-21 14:16:28我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~一、python进制转换dec(十进制)—>...我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~
一、python进制转换
dec(十进制)—> bin(二进制)
dec(十进制)—> oct(八进制)
dec(十进制)—> hex(十六进制)
二、十进制
我们所熟知的十进制,其实是从 0 开始,数到 9 之后,就跳到 10,这样就变成了 10。
三、二进制
从 0 开始也就是 00(前面的一个0可以省去,但是为了更好的描述,所以保留),到 01,也变成了 10【对应十进制中的 3】,然后是 11【对应十进制中的 4】,100【十进制中的5】。。。以此类推。
四、十进制转换二进制示意图
通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。我们将使用递归函数将十进制数转换为二进制数。
代码如下:def convertToBinary(n):
if n > 1:
convertToBinary(n//2)
print(n % 2,end = '')
dec = 34
convertToBinary(dec)
print()
输出:100010
注意:上面的程序仅适用于整数。它不适用于分数值,比如不能传入25.5、45.64等数值。
五、知识拓展——八进制、十六进制
八进制:八进制是逢八进一,范围是 0~7,对比一下二进制,很好理解的。
十六进制:十六进制就可能会相对复杂一点点,十六进制是用数字 0~9 和 英文字母 A - F(大小写随意) 表示,因此 A代表 10, F代表 15。十六进制用途在计算机领域里非常广泛。所以做数据比较大的内容时,可以选择使用十六进制。
给大家看一个对比:
大家可以根据上述教学,自己尝试看下哦~举一反三,快速成长!
更多python实用知识,点击进入云海天Python教程网。
-
python十进制转换_python 十进制转换成任意进制
2020-11-21 01:51:19原博文2015-04-08 08:36 −记得大学时代,参加学校举行的编程大赛,其中有道题是: 编写一函数,实现十进制转换成十六进制。 看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当...原博文
2015-04-08 08:36 −
记得大学时代,参加学校举行的编程大赛,其中有道题是: 编写一函数,实现十进制转换成十六进制。 看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道...
相关推荐
2018-08-08 22:17 −
将任意进制转换成十进制 print(int("54", 8)) # 表示把8进制的54转换成十进制数并输出结果。 # 8可以是2、8,10,16等进制数 将十进制转换成任意进制 def f(n,x): #n为待转换的十进制数,x为机制,取值为2-16 a=[0,1,2,3,4,5,6,...
2018-09-04 11:22 −
一、二进制,八进制,十进制,十六进制的表示方法 在python的idle中输入的不同进制的字符,直接直接转化为十进制 >>> 0b10 # 以0b开头表示的是二进制 2 >>> 0o10 # 以0o开头表示的是八进制 8 >>> 0x10 # ...
0
10188
2012-03-12 17:01 −
#!/usr/bin/env python# -*- coding: utf-8 -*-# 2/10/16 base trans. wrote by srcdog on 2...
6
80229
2013-08-29 08:59 −
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 base = [str(x) for x in ...
0
16414
2018-10-31 13:29 −
在进行wireshark抓包时你会发现底端窗口报文内容左边是十六进制数字,右边是每两个十六进制转换的ASCII字符,这里使用Python代码实现一个十六进制和ASCII的转换方法。 ###hex() 转换一个整数对象为十六进制的字符串 >>> hex(16) '0x10' >>> he...
0
20425
2019-04-03 15:15 −
1、四种进制的表示方式 >>> 0b010 0b二进制 2 >>> 0x010 0x 十六进制 16 >>> 0o010 0o 八进制 8 >>> 010 0开头报错 File "
0
109
2018-03-10 21:05 −
#coding:utf-8 import binascii a = 'worker' #先把worker转换成二进制数据然后在用十六进制表示 b = binascii.b2a_hex(a) print b #与b2a_hex相反 print binascii.a2b_hex(b) #这个功能和b2...
0
91
2017-12-11 21:36 −
关于详细的进制转换,可以参考下文: http://jingyan.baidu.com/article/495ba84109665338b30ede98.html 1.在程序中进行进制转换 二进制: bin() 0b10010八进制: oct() 0o10十进制: 1-100十六进制: hex() 0X...
0
1487
2018-07-30 11:46 −
常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。 1.十进制转二进制 命令:bin() a = 8 print(bin(a)) 运行结果: 0b1000 计算: 二进制 => 十进制  ...
2018-07-20 21:54 −
十六进制 到 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。 >>> int('0xf',16) 15 二进制 到 十进制 >>> int('1010...
-
python任意进制转换_python 十进制转换成任意进制
2020-11-29 16:50:52记得大学时代,参加学校举行的编程大赛,其中有道题是:编写一函数,实现十进制转换成十六进制。看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,...记得大学时代,参加学校举行的编程大赛,其中有道题是:
编写一函数,实现十进制转换成十六进制。
看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道题。下面使用两种方法分别实现:
一、循环
defdecimalToNBaseByNormal(decimalVar, base):
tempList=[]
temp=decimalVar
i=0while (temp >0):
ord= temp %baseif (ord > 9): #如果余数大于9,则以字母的形式表示
ord = chr(65 + (ord - 10)) #把数字转换成字符
tempList.append(ord)
temp= int(temp /base)
i= i + 1tempList.reverse();#print(tempList)
binary = ""
for j inrange(len(tempList)):
binary= binary +str(tempList[j]);print("the decimal is: %d and after convering by %d base is %s"%(decimalVar, base, binary))
里面要注意的一点就是,当余数大于9时,要转换成字符表示;用循环的方法实现,思路非常清晰,至于转换算法这里就不多介绍,可以看参考[1];在该实现过程中碰到的问题是,怎么把数字转换成字符;当然首先是ascii对应表,转换方法如下:
ord = chr(65 + (ord - 10))
其中,ord为余数,转换后就对应ascii从A开始的字符,python 3.3中可以使用chr函数直接转换成字符
二、递归
defdecToNBaseByRecursion(dec, base):if (dec ==0):returndecToNBaseByRecursion(int(dec/base), base)
ord= dec %baseif (ord > 9):
ord= chr(65 + (ord - 10))
sys.stdout.write(str(ord))
递归方法,实现使得代码非常简洁,但理解起来不是那么简单;递归实现过程中,碰到一个输出问题,python 3.3中,函数print默认自动换行,网上后面加逗号的方法,试了无效,所以直接使用stdout输出,这就要在使用import sys。
主代码:
importsysdefmain():
decimal= eval(input("please input the decimal for converting binary:"))
base= eval(input("please input base:"))
decimalToNBaseByNormal(decimal, base)
decToNBaseByRecursion(decimal, base)
python版本 3.3
上面的链接是code.google,不翻是上不去的,我朝”伟大的杰作“啊!
python刚入门,只考虑运行结果,没有考虑任何性能问题,有不正的地方,请指正!
当然python里面有更简单的函数直接输出:
二进制 bin()
八进制 oct()
十六进制 hex()
未完待续:任意进制转换成十进制
-
python程序填空题进制转换_python 十进制转换成任意进制
2020-12-03 23:18:40记得大学时代,参加学校举行的编程大赛,其中有道题是:编写一函数,实现十进制转换成十六进制。看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情;时隔五六年了,... -
c++将十进制转换为二进制 小数_理解进制转换的原理
2020-11-29 19:45:26准备写一篇关于浮点数存储的,然后先写了进制转换,越写越多,就单独作为一篇文章吧。2019.723,这个数的二进制形式是什么样呢?让我们慢慢考虑。数字的概念首先思考一下数字是什么?为什么要有数字。我有一个苹果,... -
C# 十进制与十五进制互相转换
2019-09-16 09:41:22亲测可用,这段代码也可以改为十进制与十六进制转换,不过c#本身自带十进制与十六进制转换,看自己的需求。... /// 十五进制转换为十进制 /// </summary> /// <param name="x"></param> /// ... -
十进制和二进制转换原理
2020-08-26 19:25:381.我们来了解一下我们比较常用的十进制数,比如数字 13245 这是一个五位数,从左➡️右分别有个,十,百,千,万组成的那么可以将十进制数据转换成下面这样 13245=1*10000+3*1000+2*100+4*10+5*1 =1*10⁴+2*10³+ -
第五章第三十八题(十进制转换八进制)(Decimal to octal)
2020-10-19 14:44:28第五章第三十八题(十进制转换八进制)(Decimal to octal) **5.38(十进制转换为八进制)编写程序,提示用户输入一个十进制整数,然后显示对应的八进制值。在这个程序中不要使用Java的Integer.toOctalString(int)... -
第五章第三十七题(十进制转换为二进制)(Decimal to binary)
2020-10-19 14:43:59第五章第三十七题(十进制转换为二进制)(Decimal to binary) **5.37(十进制转换为二进制)编写程序,提示用户输入一个十进制整数,然后显示对应的二进制值。在这个程序中不要使用Java的Integer.toBinaryString... -
python进制转换format_二进制/八进制/十进制:格式化输出和进制转换
2020-12-21 13:34:13课程亮点:一图胜千言,让文科生都能看得懂的python教程!!!另外加详细的笔记作为辅助工具,500多条笔记帮助学员学习Python500多个知识点课程内容:1. Python3语言总体介绍以及环境安装2... Python数据类型(五) -字... -
PHP:五进制转换十三进制
2021-01-20 11:29:35五进制转换十三进制 朋友面试遇见的一个面试题,就敲了下试试,新手上路记录下。 这个是让写一个方法 function qiuzhi($wu){ if(substr($wu,-1,1)>4){ return '不是五进制'; } $len = strlen($wu); $n=1; ... -
二进制转换成十进制
2017-06-11 01:10:57众所周知,十进制(数字用0,1,2,3,4,5,6,7,8,9这十个数字来表示)的进位规则是”逢十进一”。 比如零、一、二、三、四、五、六、七、八、九都是用一位数来表示。再进一的话,是十。十无法用1位数来表示,... -
实例五十二:进制转换
2019-10-02 11:20:54实例五十二:进制转换 问题描述: 将十进制的实数转换成二进制数。 算法思路: 将十进制数转换成二进制数时应同时考虑整数部分的转换和小数部分的转换。十进制整数 m 对应的二进制数串就是 m%2 余数的逆序,... -
python的用算法进制转换详解_学习python第五天进制转换
2020-12-02 14:40:26【注意】计算机只能识别二进制数据八进制:满八进一 范围:0~7符号:0o例如:0o66十进制:满十进一 范围:0~9十六进制:满十六进一范围:0~9 A B C D E F符号:0x例如:0x3D二进制和十进制之间的转换:二 ->... -
进制转换,二进制,八进制,十进制,十六进制,互相转换
2009-06-28 23:12:18计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机... 16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写... -
十进制如何转换成十五进制
2017-07-12 21:14:31#include using namespace std; void convert(long n) { int i=0; long *p=new long; while(n>0) { *(p+i)=n%15; n/=15; i++; } for(;i>0;i--) { if(p[i-1]==10) cout if(p[i-1]==11) cout ...if -
五种境界之 二进制转换为十进制(C语言版)
2019-10-01 19:10:58用C语言实现将一个十进制整数转换为二进制数。 ” 解答: C语言四级水平: 1 #include 2 enum BOOL 3 { 4 FALSE = 0 , 5 TRUE = ! FALSE 6 }typedef bool ; //这里应用枚举类型重新... -
进制转换
2019-10-03 09:44:13星期五的阶段测试中出现了上课时没有提到的进制转换问题,今天找到资料看了一下,在这里提出来,感兴趣的仁兄可以看看。 整数的四种表现形式: 二进制:0,1 逢二进一 八进制:0——7,逢八进一,以0开头。... -
进制转换问题
2019-07-30 20:48:04进制问题 常用的进制有二进制,八进制,十进制,十六进制 但是其实每种数都可以有自己的进制,比如五进制,十一进制等等** 之所以 使用 16或8进制,而...1.二进制转换十进制 : 2.八进制转换为十进制 3.十... -
计算机进制转换
2021-02-28 22:34:221)十进制转换成二进制 45的二进制? 0010 1101 方法:除2取余 56的二进制是多少? 00111000 2)二进制转换成十进制 101101=12的0次方+02的一次方+12的二次方+12的三次方+02的四次方+12的五次方=1+0+4+8+0+32=45 3)八进制...