python-int()函数

原型:int(x,[base])
作用:将一个数字或字符串转换成整数,并且是向下取整
注意:

  1. base缺省值为10,可以是0或者2-36之间的数字,囊括了所有的英文字母(不区分大小写),十六进制中F表示15,那么G将在二十进制中表示16,依此类推….Z在三十六进制中表示35
  2. x可以是数字或字符串,但是base被赋值后x只能是字符串,即把制定进制数转换为整数
  3. x变成数字时必须能用base进制表示

实例
1.x是数字的情况

int(3.14)            # 3
int(2e2)             # 200
int(3.6)             # 3
int(100, 2)          # 出错,base 被赋值后函数只接收字符串

2.x是字符串的情况

int('23',16)    #把16进制数转换为整数,为35
int('python',8)  #出错,python不是个8进制数
int('FZ', 16)      # 出错,FZ不能用十六进制表示
int('FZ', 36)      # 把36进制数转换,575

3.字符串 0x 可以出现在十六进制中,视作十六进制的符号,同理 0b 可以出现在二进制中,除此之外视作数字 0 和字母 x

int('0x10', 16)  # 16,0x是十六进制的符号
int('0x10', 17)  # 出错,'0x10'中的 x 被视作英文字母 x
int('0x10', 36)  # 42804,36进制包含字母 x

4.阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?当然,这个问题用列表推导式或者生成器表达式很容易计算。但是,用int()函数计算或许是最快的

int('1'*3, 2)    #输出7,即把2进制数111转化为整数
int('1'*64, 2)   #输出18446744073709551615

你可能感兴趣的:(python)