Home  >  Article  >  Backend Development  >  Python explains base conversion int, bin, oct, hex

Python explains base conversion int, bin, oct, hex

coldplay.xixi
coldplay.xixiforward
2021-01-14 09:44:502872browse

Python explains base conversion int, bin, oct, hex

Related free learning recommendations: python video tutorial

Principle

The inverse division method can be used to convert decimal to n-base: divide the decimal by n until the quotient is 0, and then write the remainder obtained in each step backwards.
Convert n-base to decimal: (Example : Binary to decimal)
101001 => 2^5 2^3 1 = 32 8 1 = 41
10111 => 2^4 2^2 2 1 = 16 4 2 1 = 23
By analogy, to convert n-base to decimal is to change base 2 to n.


There are other methods, such as using intermediate binary,
For example, convert decimal to Octal or hexadecimal, first convert to binary and then to octal or hexadecimal
Decimal=> Binary=> Hexadecimal
520 => 1000001000 (512 8) => 10 0000 1000 => 208(Hex)
1314 => 10100100010(Binary) => 2442(Octal) => 522(Hex)


Convert octal or hexadecimal to decimal
Hexadecimal=> Binary=> Decimal
522 => 0101 0010 0010 => 1024 256 32 2 = 1280 34 = 1314 (decimal)

Convert decimal to other decimal numbers

Use the built-in functions bin, oct, and hex to convert integers into corresponding binary, octal, or decimal Hexadecimal;
Note that only integers can be converted, and the returned data is a string type

a = 12# 默认数字都是十进制print(a)# 12b = 0b0101010111#以0b开头的是二进制数,默认也是十进制输出print(b)# 343c = 0o33# 以0o开头的是八进制数print(c)# 27d = 0x24# 以0x开头的是十六进制数print(d)# 36

a = 12 # 12是十进制数print(bin(a))# 0b1100 使用bin内置函数可以将数字转换为二进制print(oct(a))# 0o14 使用oct内置函数可以将数字转换为八进制print(hex(a))# 0xc 使用hex内置函数可以将数字转换为十六进制print(type(bin(a)))# <class &#39;str&#39;>print(bin(0o1111))# 0b1001001001print(bin(0xff))# 0b11111111print(oct(0xff))# 0o377print(hex(0b00011111)) # 0x1f# print(bin(1.12))# print(oct(1.12))# print(hex(1.12))# TypeError: 'float' object cannot be interpreted as an integer

Convert other bases to decimal

Use of int function
int(x, base=10)base is base, the default is decimal
The int function is often used to convert other types of data into integers
Note:
There are two types of x: str / int
1. If x is a pure number, you cannot pass parameters to base, otherwise an error will be reported
2. If x is str, you can pass parameters to base. If not passed, the default is 10; whatever parameters are passed to base, the string will be considered to be a decimal number, and then converted into a decimal number, but the number in the string must comply with the base specification, otherwise an error will be reported

print(int(3.112))# 3# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit baseprint(int('10',2))# 2# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'print(int('0xaaa',16))# 2730print(int('0b111',2))# 7print(int('0o1237',8))# 671

Related free learning recommendations: python tutorial (video)

The above is the detailed content of Python explains base conversion int, bin, oct, hex. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete