您的位置:首页 > 编程语言 > Python开发

Pyth 4000 on中数值和进制转换

2012-01-25 17:48 393 查看
Python数值和进制转换

1.1 python中数值类型

     int          整型          123 

     long     长整型          2147483648L 

     float     浮点型          3.14

不同的数值类型会自动扩充 

int数值大于或等于2^31次方,会自动转换成long 

表示方式是在数值后面加上L 

如果int或long和float一起运算,结果会自动扩充到float

     >>> 3.14 + 1 

     4.14

python中没有数值溢出的概念,如果超出int的范围会自动扩充到long, 

而长整型上不封顶,可以表示非常大的数字

1.2 不同的进制

二进制    0b101 

     以数字0和字母b打头的表示二进制数 如果出现大于等于2的数 会抛出SyntaxError异常 

八进制    0711 

     以数字0打头的数字表示八进制数 如果出现大于等于8的数 会抛出SyntaxError异常 

十进制    123 

     正常显示 不能出现字母 

十六进制  0x15 

     以数字0和字幕x打头的表示十六进制数 可以出现0-9和abcdef或ABCDEF出现其他数值会抛出SyntaxError异常

在交互式解释器环境中.python会自动的将不同的进制自动转换为十进制,进行运算.

     >>> 0b101 + 0711 + 123 + 0x15 

     606

不同的进制之间可以运用内置函数进行转换

常用的转换函数有: 

     int(str, base)      ==> int 

     bin(num)            ==> str 

     oct(num)            ==> str 

     hex(num)           ==> str

int(str, base) 可以讲字符串转换为整型数,base为相应的进制 

base的范围是2~32 还可以为0,当base=0时,会自动尝试合适的进制 

base如果不给,缺省情况下会吧字符串向10进制转换, 

这时如果字符串中有字母则会抛出ValueError异常

     >>> bin(5) 

     '0b101' 

     >>> int('0x210', 0) 

     528 

     >>> int('0x210', 16) 

     528

来源:http://www.cnblogs.com/pylemon/archive/2011/06/30/2093912.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python float hex