首页 > 编程知识 正文

python任意进制转换为十进制,python开源网站源码

时间:2023-05-04 13:50:38 阅读:14403 作者:3941

Python实现进制转换一、导语:

计算机交换数据时,经常有二进制转换的过程。 我们知道计算机只识别0和1。 内存系统基本上是基于二进制进行运算,但数据可能太庞大。 为了便于存储管理,计算机使用十六进制存储数据,如何实现数据转换呢?

我们用10根手指指着头,所以自然用十进制。 每次我们把数字数到10,就把0加重再继续数。 所以,所有的十进制都这样来。

关于其他进制,也可以说是同样的道理。 例如,最常见的二进制,也就是所有的二进制,慢慢来,按顺序类推。 所以,数学世界是多么奇妙啊。

今天使用Python实现二进制转换。 内容如下。

dec (十进制)孝顺列车(二进制) dec (十进制)十进制(oct (八进制) dec (十进制) hex (十六进制) )二、介绍和转换各种进制前,了解以下各种进制

十进制(Decimal )我们熟悉的十进制,其实从0开始,数到9,然后跳到10,变成10。 数了数大家总是

二进制(Binary )二进制也一样,从0到00 (前面的一个0可以省略,但为了更容易说明而保留),到01,再到10【对应于十进制中的3】,再到11【10】 。 接下来类推

二进制的英语单词是孝顺列车ary,所以在计算机运算过程中使用二进制,可以使用0b11(4)、0b11(4) 13等方法

因为八进制(Octal )理解二进制,所以理解八进制很简单。 八进制都是八进制,范围是0到7。 和二进制比较一下,很好理解。

由于“十六进制”(Hexadecimal )十六进制由数字0到9和字母A - F )表示,因此a表示10,f表示15。 为什么十六进制在计算机领域的用途这么广泛?

比较一下:

如果数据很大,很明显二进制文件就不用那么多了。 另外,如果你看到使用十六进制数,就会短很多。

十六进制的运用领域不仅仅是这些。 例如,原画师进行色彩匹配时,使用RGB三原色,可以进行256 x 256 x 256种组合。 我们可以用十六进制。 将每种颜色的对比度转换为十六进制字符很有用。 以下是我以前在拼色时写的简单的c语言小程序。 诶,好像有点跑题了,哈哈

# include stdio.h # include stdlib.hint main () printf (以十六进制表示RGB三原色n ) ); int a、b、c、d; while(d!=2) printf(1 (输入1继续,输入2退出(n ) ); 扫描(' % d ',d ); 扫描(% d % d % d )、a、b、c ); printf((%x%x%x ) ) n )、a、b、c ); //%x可以将我们输入的十进制直接转换为十六进制}return 0; (三、我不太记得使用Python代码完成转换的3.1十进制到二进制的转换是什么时候第一次进行的。 进制变换中常用的方法是对2取馀数,得到馀数的反转是我们需要的二进制数。 举个例子,十进制十三的二进制是什么?

这也是老师教我们的方法,我们第一次接触进制变换时,用目标数num对2求馀数,直到商变成0,然后把馀数反组合输出,为我们求的二进制数我曾问过一些同学会,怎么能这么确定这是与13对应的二进制数?

回答说:

由于二进制的特殊性,数字从右向左计数,对应于20 x 1 21 x 0 22 x 1 23 x 1=1 4 8=13,给你速记口诀: 1、2、4、8、16、32、64、128、256、512、1024 分别与20 ~ 210对应的值

所以有了想法,我们就可以开心地敲代码了

#10进制整数旋转2进制def dec_to_孝敬列车(num ) : # )函数名称使其名称可见(含义l=[] #空列表if num0: # )是负数转换为整数的return '-' dec_to_孝顺列车(abs ) ) ) ) ),首先转换为正数的while True: num,reminder=divmod(num,2 ) 这是Python特有的内置方法。 可以分别访问商和馀数L.append(str(reminder ) ),将得到的馀数存储在字符串if num==0: # )中。 对应前面的话,商品变成0的话就结束了。 return'.join(L(33603360-1 )。 相同目标数num对8

求商,留余数,照这个思路走。检验的时候,一样,把 2n把2 替换成 8即可。

看代码:
和 二进制 的基本没啥却别

# 十进制转八进制def dec_to_oct(num): l = [] if num<0: return "-"+ dec_to_孝顺的火车(abs(num)) # 如过是负数,先转换成正数 while True: num, reminder = divmod(num,8) # 短除法,对2求,分别得到除数 和 余数、 l.append(str(reminder)) # 把获得的余数 存入字符串 if num == 0: return "".join(l[::-1]) # 对列表中的字符串进行逆序拼接,得到一个二进制字符串 3.3 十进制转十六进制

前面说过,十六进制相比二进制,八进制会复杂一点,但是方法是一样的

# 十进制转十六进制(这个相对麻烦一点,因为,十六进制包含 A-F,大小写不敏感)def dec_to_hex(num): base = [str(x) for x in range(10)] +[chr(x) for x in range(ord('A'),ord("A")+6)] # 前者把 0 ~ 9 转换成字符串存进列表 base 里,后者把 A ~ F 存进列表 l = [] if num<0: return "-"+dec_to_hex(abs(num)) while True: num,rem = divmod(num,16) # 求商 和 留余数 l.append(base[rem]) if num == 0: return "".join(l[::-1])

最后看一下运行结果,是不是很方便呢?当然 Python 有内置的方法,比如我们直接输入 十进制数,通过 孝顺的火车(n) 转为二进制,oct(n) 转为 八进制,hex(n) 转为十六进制。但是原理了解以下还是很有必要的,你说是不是呢?

?,今的内容到此为止,你学会了嘛

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。