int 参数----------int ( 变量,数制)
? ? ?1.?变量可以取整数、浮点数、字符串
? ? ?2.当变量是int数时,不能有第二参数
? ? ?3.当时float数时,不能有第二参数,向下取整
? ? ?4.当是字符串时,引号中不能是浮点数,且不能超过第二参数数制的范围,比如:二进制无9
如何进行十进制与其他进制的相互转换?
- 其他进制转十进制:x=Int(变量,进制数)
输入 | 结果 | int(3.1415926) | ?3 默认十进制 | int(-11.123) | -11 | int(2.5,10) | 报错,2.5已经十进制了 | int("9",2)? | 报错,因为2进制无9 | int("9") | 9,默认十进制 | Int('01010100101',2) | 677 | ?int("3.14",8) | str须为整数 | ?int("1.2") | str须为整数 | int("1001",2)? | "1001"才是2进制格式,并转化为十进制9 | ?int("0xa",16) | 16进制才会允许入参为a,b,c转换成10 | int("b",8) | ?超过范围报错 |
????????????????注意:如果变量是整数,那么进制数不能有参数,若 变量 为 str,则 base 可略可有
如何把各种进制转换成前面带0的二进制的字符串?
- 第一步:首先把十进制变成对应进制
- 第二步:省去前缀str2=str2[2:]
- 第三步:计算串长n=len(str2)
- 第四步:变换成固定位格式字符串y1='0'*(32-n)+str2(或者用printf("{:032s}".format(str2))
如何把十进制转换其他进制?
a=5 | 输入 | print(bin(a),oct(a),hex(a)) | 1 | print(type(bin(a)),type(oct(a)),type(hex(a))) | 2 | 0b101 0o5 0x5 | 输出1 | <class 'str'> <class 'str'> <class 'str'> | 输出2 |
其他进制之间的相互转换:以十进制过渡
十六进制转换成十进制字符串 => str1=str(int(result,16))
十六进制字符串转换成八进制 => str2=oct(int(result,16))
十六进制字符串转换成二进制=>str3=bin(int(result,16))
二进制字符串转换成十六进制=>str4=hex(int(str,8))
|