二进制,八进制,十六进制之了解

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数

为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数:

x = 1234
bin(x)
‘0b10011010010’
oct(x)
‘0o2322’
hex(x)
‘0x4d2’

如果你不想输出0b , 0o 或者0x 的前缀的话,可以使用format() 函数

format(x, ‘b’)
‘10011010010’
format(x, ‘o’)
‘2322’
format(x, ‘x’)
‘4d2’

整数是有符号的,所以如果你在处理负数的话,输出结果会包含一个负号

x = -1234
format(x, ‘b’)
‘-10011010010’
format(x, ‘x’)
‘-4d2’


如果你想产生一个无符号值,你需要增加一个指示最大位长度的值。比如为了显示32 位的值,可以像下面这样写:


x = -1234
format(2**32 + x.'‘b’)‘11111111111111111111101100101110’
format(2**32 + x, ‘x’)
‘fffffb2e’

为了以不同的进制转换整数字符串,简单的使用带有进制的int() 函数即可

int(‘4d2’, 16)
1234
int(‘10011010010’, 2)
1234

练习:

#进制转换
x = int(input("请输入一个整数:"))
print("该整数的二进制表示为",bin(x),"八进制表示为",oct(x),"十六进制表示为",hex(x))


十进制转N进制


十进制转二进制

十进制整数转二进制

十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

例题: 135D = ______ B

**解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再倒取。得到结果。

image.png


十进制小数转二进制


十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。


具体做法是:


用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。


例题: 0.68D = ______ B(精确到小数点后5位)


**解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到要求精度。得到结果:

image.png

十进制转八进制

思路和十进制转二进制一样,参考如下例题:

例题: 10.68D = ______ Q(精确到小数点后3位)

**解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整。得到结果:

image.png

十进制转十六进制

思路和十进制转二进制一样,参考如下例题:


例题: 25.68D = ______ H(精确到小数点后3位)


**解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

image.png

.R进制转十进制


二进制转十进制


**方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

例题: 1001 0110B = ______ D

**解析:**如下图所示。得到结果:150D.

image.png

八进制转十进制

八进制转十进制的方法和二进制转十进制一样。

例题: 26Q = ______ D\n\n**解析:**如下图所示。得到结果:22D.

image.png

十六进制转十进制

例题: 23daH = ______ D

**解析:**如下图所示。得到结果:9178D.

image.png

二进制转八进制

二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

例题: 1010 0100B = ____Q

**解析:**计算过程如下图所示。得到结果:244Q.

image.png

二进制转十六进制

二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

例题: 1010 0100B = ____H

**解析:**计算过程如下图所示。得到结果:a4H

image.png


相关文章
|
9月前
十进制转二、十六进制
十进制转二、十六进制
26 0
|
1月前
|
Python
十进制转二进制、八进制、十
十进制转二进制、八进制、十
|
11月前
二进制、八进制、十六进制
二进制、八进制、十六进制
87 0
|
存储 机器学习/深度学习 算法
C#实现十六进制和十进制相互转换【及不同进制表示】
在程序中,十六进制的表示形式通常为字符串;而十进制则为数字整型(本质的内存存储都是01二进制)。数字的进制表示一般使用的不多,通常最大的需求是进制之间的相互转换。C#中提供了内置的转换方法...
521 0
C#实现十六进制和十进制相互转换【及不同进制表示】
|
开发者 Python
二进制转换八进制十六进制以及十进制| 学习笔记
快速学习二进制转换八进制十六进制以及十进制
174 0
二进制转换八进制十六进制以及十进制| 学习笔记
|
机器学习/深度学习 程序员 C++
4、进制(二进制、八进制、十进制、十六进制)
4、进制(二进制、八进制、十进制、十六进制)
327 0
4、进制(二进制、八进制、十进制、十六进制)
|
程序员
笔记:二进制、八进制、十进制、十六进制的互相转换
二进制、八进制、十进制、十六进制的互相转换
笔记:二进制、八进制、十进制、十六进制的互相转换
二进制、八进制、十进制、十六进制前缀
二进制、八进制、十进制、十六进制前缀
165 0
|
程序员
二进制、八进制、十六进制的应用对我们来说有什么现实意义?
二进制、八进制、十六进制的应用对我们来说有什么现实意义?