前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二进制,八进制,十六进制之了解

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

作者头像
老虎也淘气
发布2024-01-30 14:07:53
1320
发布2024-01-30 14:07:53
举报
文章被收录于专栏:Data分析Data分析

为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用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

练习:

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

十进制转N进制

十进制转二进制 十进制整数转二进制

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

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

十进制转二进制
十进制转二进制

十进制小数转二进制

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

具体做法是:

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

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

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

十进制小数转二进制
十进制小数转二进制

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

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

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

十进制转八进制
十进制转八进制

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

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

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

在这里插入图片描述
在这里插入图片描述

.R进制转十进制

二进制转十进制

**方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图) 例题: 1001 0110B = ______ D

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

二进制转十进制
二进制转十进制

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

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

八进制转十进制
八进制转十进制

十六进制转十进制 例题: 23daH = ______ D **解析:**如下图所示。得到结果:9178D.

十六进制转十进制
十六进制转十进制

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

例题: 1010 0100B = ____Q

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

二进制转八进制
二进制转八进制

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

例题: 1010 0100B = ____H

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

二进制转十六进制
二进制转十六进制
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 十进制转N进制
  • .R进制转十进制
    • 二进制转十进制
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档