基值在int函数中做什么

我已经阅读了官方文档https://docs.python.org/2/library/functions.html#int,但仍然感到困惑。

我已经阅读了文档https://docs.python.org/2/library/functions.html#int,但仍然感到困惑。

我在终端上尝试了一些命令,我发现了一些规则,但仍然不太清楚。希望对此有更多了解的人可以进一步解释。

下面是我的例子和发现:

int('0', base=1)
ValueError: int() base must be >= 2 and <=36
int('3', base=2)
ValueError: invalid literal for int() with base 2:
int('3', base=4)
3
int('33', base=4)
15
int('333', base=4)
63
int('353', base=4)
ValueError: invalid literal for int() with base 4:

我在这里找到两个规则:

单个字符串数字必须小于基数。

int()将返回一个等于(n)*(base^(n-1)) + (n-1)*(base^(n-2)) + ... + 1*(base^0)的数字

除此之外,还有其他隐藏的规则吗?基地旨在解决什么样的问题?

16

它完全按照它所说的那样-将字符串转换为给定数字基数中的整数。根据文档,int()可以将任何基数中的字符串从 2 转换为 36。在低端,基数 2 是最低的有用系统;基数 1 只会有“0”作为符号,这对于计数来说是非常无用的。在高端,36 是任意选择的,因为我们可以使用“01234567mlkghj10”

“正常”数学以 10 为基数(使用符号“0123456789”):

int("123", 10)  # == 1*(10**2) + 2*(10**1) + 3*(10**0) == 123

二进制是 base-2(使用符号“01”):

int("101", 2)   # == 1*(2**2) + 0*(2**1) + 1*(2**0) == 5

“3”在基数 2 中没有意义;它只使用符号“0”和“1”,“3”是一个无效的符号(这有点像试图预订 1 月 34 日的约会)。

int("333", 4)   # == 3*(4**2) + 3*(4**1) + 3*(4**0)
                # == 3*16 + 3*4 + 3*1
                # == 48 + 12 + 3
                # == 63
7

base值告诉 python 将给定的字符串解释为不同基数的值。

例如,基数 2 中的1011为 11。因此,int('1011', 2)返回11
另一方面,基数 3 中的1011为 31。因此,int('1011', 3)返回31

小数以 10 为底,这就是为什么base的默认值是10

选择数字基数的一个有趣的副作用是,该系统中不存在高于(或等于)基数本身的数字。这就是为什么我们在十进制系统中没有十位的数字,而十六进制系统(基数为 16)使用数字A表示十。这就是为什么您在要求以数字54 为基数的数字进行解释时会出错的原因。

5

基数是数字系统中不同的基本元素或数字的数量。

底座 2 具有 0 和 1,并且可以在电子设备中表示为开和关。

Base 10 具有熟悉的 10 位数字 0..9

任何整数都可以用任何基数表示,但符号串会有所不同。例如,在基数 2 中,1111 = 15 在基数 10 中

选择转换到字符串或从字符串转换的碱基的能力允许软件接受不同碱基的输入,并在适当的情况下翻译碱基。

See alsohttp://en..org/wiki/Radix
4

int()函数可以转换以 10 为基数(或radix)以外的整数作为字符串传递,其中第二个参数是字符串中数字的基数,结果将是以 10 为基数的整数。例如,以下所有字符串值都将导致整数42

int('42')        # by default, it's base 10
=> 42
int('42', 10)    # same as above
=> 42
int('101010', 2) # base 2 (binary)
=> 42
int('2A', 16)    # base 16 (hexadecimal)
=> 42

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(532)
save()取1个位置参数 但给出2个
上一篇
在Linux下使用EXOV2Powershell模块连接到ExchangeOnline PowerShell-Connect-I
下一篇

相关推荐

  • E fem:靠近积分点的 FEM积分(integration points)

    关于E fem的问题,在integration points中经常遇到,我正在开发一个程序,该程序可以基本上确定具有一些表面电荷的一些任意形状的网格的静电场。为了测试我的程序,我使用了一个左右面带有相反电荷的立方体。…

    2022-12-07 09:47:19
    0 79 42
  • Idea热编译:Linux中的IntelliJIDEA编译加速

    关于Idea热编译的问题,在anything-sync-daemon中经常遇到,我在 Linux 上使用 IntelliJ IDEA,最近我有 16 GB 的 RAM,所以有什么方法可以使用这个内存加快我的项目编译?…

    2022-12-07 00:27:26
    0 73 52
  • linux入门要多久从零开始,掌握最快的入门技能

    Linux入门要多久取决于学习者的基础知识、学习方法和投入时间。如果学习者有一定的计算机基础知识,并且能够每天投入2-3小时的时间,那么学习Linux大概需要1-2个月的时间。…

    2023-01-18 04:04:19
    0 75 54
  • linux查看安装的所有软件:Linux系统中已安装软件列表

    使用dpkg命令查看安装的所有软件:使用rpm命令查看安装的所有软件:…

    2022-12-31 06:53:22
    0 96 57
  • linux api 中文手册如何使用系统调用

    Linux API 中文手册是一份详细的技术文档,用于提供 Linux 内核开发者和应用程序开发者有关 Linux 系统调用的详细信息。它提供了有关 Linux 系统调用的函数原型、参数和返回值的详细信息,以及如何使用这些调用的示例代码。…

    2023-01-27 03:24:38
    0 28 17
  • linux display设置:利用Linux Display设置提升你的显示器性能

    Linux Display设置是指在Linux系统中设置显示器的分辨率、颜色深度、刷新率等参数。一般来说,使用X Window系统的Linux系统都会安装XFree86/Xorg,这个是X Window系统的实现,它提供了一个叫做XF86Config的配置文件,用来设置显示器的参数。…

    2023-01-05 04:18:18
    0 56 69
  • linux关闭dns服务:如何在Linux系统中关闭DNS服务

    在Linux系统中,可以使用命令来关闭DNS服务。检查DNS服务的状态:…

    2023-01-31 01:34:49
    0 21 82
  • linux获取时间戳命令date +%s

    示例示例Linux获取时间戳命令是date +%s,该命令可以用来获取当前的Unix时间戳。下面是一个代码示例:#!/bin/bash…

    2023-01-24 10:20:59
    0 23 13

发表评论

登录 后才能评论

评论列表(58条)