基值在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

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

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

相关推荐

  • linux上运行pythonutf-8 -*- print(Hello World)

    示例示例在Linux上运行Python只需要几步就可以完成:安装Python:在Linux系统中,可以使用命令行安装Python,也可以使用系统自带的软件包管理器安装Python。…

    2023-02-08 02:08:24
    0 18 53
  • linux选intel还是amd:如何选择Intel或AMD来优化Linux系统性能

    这取决于你的需求。Intel和AMD都是很好的选择,但它们在性能、功耗、价格等方面有所不同。如果你需要一个节能的CPU,那么AMD可能是更好的选择;如果你需要更高的性能,那么Intel可能是更好的选择。…

    2023-02-21 06:36:27
    0 21 65
  • E fem:靠近积分点的 FEM积分(integration points)

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

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

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

    2022-12-07 00:27:26
    0 70 84
  • linux 设置主机名:如何在Linux中设置主机名

    Linux 主机名设置可以使用 命令,代码如下:…

    2023-05-12 04:19:25
    0 91 37
  • linux内核降级:如何降级 Linux 内核以获得更好的系统性能

    Linux内核降级是指将Linux系统内核版本从较新的版本降级到较老的版本。一般情况下,我们不建议进行内核降级,因为新版本的内核通常都会提供更好的性能和更多的功能。但是,当新版本的内核存在缺陷或者不兼容时,就需要进行内核降级。…

    2023-04-09 02:52:11
    0 62 67
  • linux和arm:Linux在ARM架构上的应用

    Linux是一种开源的、免费的操作系统,它可以运行在各种硬件平台上,包括PC机、服务器、嵌入式系统等。它可以运行大多数的应用程序,支持多用户、多任务,拥有丰富的网络协议和文件系统,提供了一个完整的开发环境,可以让开发者快速地实现自己的想法。…

    2023-05-14 00:25:50
    0 43 87
  • linux 过滤文件内容:使用 Linux 的 grep 命令过滤文件内容

    Linux 过滤文件内容的方法有很多,下面介绍几个常用的方法:使用 grep 命令:…

    2023-06-02 08:12:51
    0 28 70

发表评论

登录 后才能评论

评论列表(84条)