- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python 进制转换 int、bin、oct、hex的原理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来. n进制转十进制:(例子:二进制转十进制) 101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41 10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23 同样类推一下,n进制转十进制就是将2为底换成n为底就好了 。
还有其他方法,比如使用中间二进制, 例如,将十进制转成八进制或者十六进制,先转成二进制再转成八进制或者十六进制 十进制 => 二进制 => 十六进制 520 => 1000001000 (512+8) => 10 0000 1000 => 208(十六进制) 1314 => 10100100010(二进制) => 2442(八进制) => 522(十六进制) 。
八进制或者十六进制转成十进制 十六进制 => 二进制 => 十进制 522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314(十进制) 。
使用内置函数bin、oct、hex可以将整数转换成对应的二进制、八进制、十六进制; 注意只能转换整数,返回的数据是一个字符串类型 。
1
2
3
4
5
6
7
8
|
a
=
12
# 默认数字都是十进制
print
(a)
# 12
b
=
0b0101010111
#以0b开头的是二进制数,默认也是十进制输出
print
(b)
# 343
c
=
0o33
# 以0o开头的是八进制数
print
(c)
# 27
d
=
0x24
# 以0x开头的是十六进制数
print
(d)
# 36
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
a
=
12
# 12是十进制数
print
(
bin
(a))
# 0b1100 使用bin内置函数可以将数字转换为二进制
print
(
oct
(a))
# 0o14 使用oct内置函数可以将数字转换为八进制
print
(
hex
(a))
# 0xc 使用hex内置函数可以将数字转换为十六进制
print
(
type
(
bin
(a)))
# <class 'str'>
print
(
bin
(
0o1111
))
# 0b1001001001
print
(
bin
(
0xff
))
# 0b11111111
print
(
oct
(
0xff
))
# 0o377
print
(
hex
(
0b00011111
))
# 0x1f
# print(bin(1.12))
# print(oct(1.12))
# print(hex(1.12))
# TypeError: 'float' object cannot be interpreted as an integer
|
int函数的使用 int(x, base=10)base是进制,默认是十进制 int函数常用来将其他类型的数据转换成整型 注意: x 有两种:str / int 1、若 x 为纯数字,就不能给base传参数,否则就会报错 2、若 x 为 str,则可以给base传参,不传就默认是10;给base传什么参数就认为此字符串为什么进制的数,然后把它转换成十进制的数,但字符串里的数必须符合该进制规范,否则会报错 。
1
2
3
4
5
6
7
|
print
(
int
(
3.112
))
# 3
# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit base
print
(
int
(
'10'
,
2
))
# 2
# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'
print
(
int
(
'0xaaa'
,
16
))
# 2730
print
(
int
(
'0b111'
,
2
))
# 7
print
(
int
(
'0o1237'
,
8
))
# 671
|
到此这篇关于python 进制转换 int、bin、oct、hex的原理的文章就介绍到这了,更多相关python 进制转换 内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/hmh4640219/article/details/112506803 。
最后此篇关于python 进制转换 int、bin、oct、hex的原理的文章就讲到这里了,如果你想了解更多关于python 进制转换 int、bin、oct、hex的原理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
注意:此问题已从其原始形式进行了彻底编辑 我正在尝试通过实现与体素化相结合的八叉树数据结构来创建对数光线追踪器,以实现快速光线追踪。 目前我在光线碰撞检测方面遇到问题。 预期的输出应该是带有法线贴图的
编写一个应用程序,输入一个由用户提供的 5 位数字组成的数字,将该数字分隔成单独的数字,并打印这些数字,每个数字之间用三个空格分隔。例如,如果用户输入数字 12345,程序应打印 1 2 3
在 Octave .oct 文件中,可以这样提取子矩阵: B = A.extract(a-1,c-1,b-1,d-1) ; 相当于 Octave 代码中的 B = A(a:b,c:d),但是否可以用类
这主要针对Octave的用户。 在 Octave 的 c++ API 文档中,其中一个示例是将两个矩阵相加的函数,如下所示: */addtwomatrices.cc #include DEFUN_D
我有一个 (OCT) 图像,如下所示(原始)。如您所见,它主要有 2 层。我想生成一个图像(如第 3 张图所示),其中红线表示第 1 层的顶部边界,绿色表示第 2 层最亮的部分。 我试图简单地对图像进
HEX: 复制代码 代码如下: #include <iostream.h> #include <iomanip.H> main(void) {
我需要实现输入日期(例如 2014 年 9 月、2014 年 10 月、2014 年 11 月等)是否为当前月份的逻辑。我已经编写了以下逻辑,用于使用以下方法检查所选周是否为当前周,但无法在当前月份实
我正在尝试编写一个使用 linasm-1.13 library 的 Octave C++ .oct 函数但我似乎无法从/usr/share/zoneinfo/获得基本的 tzdata 加载来工作。到目
我正在使用通过包控制下载的 sublime text 3 和 SCSS 编译器。拥有之后: &:before{ content: "“"; } 它将我的内容替换为: content: "ÔÇť"; 有
不确定这是系统问题还是版本问题,但是在调用嵌入式 oct() 函数时我缺少预期的八进制前缀?这是我的例子 # Base conversion operations print 'x = 1234 '
考虑在 C++ Octave 函数中创建 3 维数组 NDArray 的问题。 我有一个双指针 double* ptr 和来自 Armadillo cube 的维度 int dim[3]。我找到了一个
我很难掌握如何迭代八叉树或四边形。这可能是因为我没有经历过不同的迭代神话。但是让我们假设我生成了一个包含 float x,y,z 的四叉树;双字颜色。现在,我们还假设这个节点一次只能产生 4 个 ch
我有一个脚本可以解析一个大文本文件,提取某些值(使用 line.split),并将它们存储在一个文本文件中。我在将八进制值保存到文件时无法解释时遇到问题。 当我手动指定 oct 字符的 string
这个问题在这里已经有了答案: How to get 3 letter abbreviation for month in SQL (3 个答案) 关闭 5 年前。 我目前正在处理一个如下所示的表格:
这可能是个愚蠢的问题。 当我尝试构建一些方法时,例如 “有效地八进制到十进制”,我被提醒有文字可以完成这项工作。这将是最快的、按位的、内置的系统方式。 对于八进制,前缀为“0”。 对于十六进制,前缀为
编辑:这是我目前拥有的用于生成患者 Oct 元组的代码。(感谢 Anon 告诉我如何计算加权概率/设置种子) fun genPatients(x:int) = let val seed=let val
例如我有以下号码: 0x FF 00 FF 现在,我希望 00 部分只有在它为 0 时才为 1。我是否需要检查每个字节,或者是否有可以在这里使用的位技巧? 示例: 我有一个无符号长 IP,我用字符串函
原理 十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来. n进制转十进制:(例子:二进制转十进制) 101001 => 2^5 +
#include #include using namespace std; int main() { // int t = 0b11011101; strings
我正在尝试查询 MYSQL 数据库以返回包含今天日期的所有记录 - SELECT * FROM credit_application created_on = '15-OCT-15'; 但由于查询中的
我是一名优秀的程序员,十分优秀!