Python 2 sẽ tự động đặt loại dựa trên kích thước của giá trị. Một hướng dẫn về các giá trị tối đa có thể được tìm thấy dưới đây.
Giá trị tối đa của int mặc định trong python 2 là 65535, bất cứ thứ gì trên đó sẽ dài
Ví dụ:
>> print type[65535]
>>> print type[65536*65536]
Trong Python 3, kiểu dữ liệu dài đã bị xóa và tất cả các giá trị số nguyên được xử lý bởi lớp INT. Kích thước mặc định của INT sẽ phụ thuộc vào kiến trúc CPU của bạn.
Ví dụ:
- Các hệ thống 32 bit Kiểu dữ liệu mặc định cho số nguyên sẽ là 'INT32'
- Hệ thống 64 bit Kiểu dữ liệu mặc định cho số nguyên sẽ là 'int64'
Các giá trị tối đa/tối đa của từng loại có thể được tìm thấy bên dưới:
- Int8: [-128.127]
- Int16: [-32768.32767]
- Int32: [-2147483648,2147483647]
- Int64: [-9223372036854775808,9223372036854775807]
- Int128: [-170141183460469231731687303715884105728,170141183460469231731687303715884105727]
- UINT8: [0,255]
- UINT16: [0,65535]
- UINT32: [0,4294967295]
- UINT64: [0,18446744073709551615]
- UINT128: [0,340282366920938463463374607431768211455]
Nếu kích thước của INT của bạn vượt quá các giới hạn được đề cập ở trên, Python sẽ tự động thay đổi loại của nó và phân bổ nhiều bộ nhớ hơn để xử lý sự gia tăng này trong các giá trị tối đa/tối đa. Trong trường hợp trong Python 2, nó sẽ chuyển đổi thành 'Long', giờ đây nó chỉ chuyển đổi thành kích thước tiếp theo của int.
Ví dụ: Nếu bạn đang sử dụng hệ điều hành 32 bit, giá trị tối đa của bạn sẽ là 2147483647 theo mặc định. Nếu giá trị từ 2147483648 trở lên được gán, loại sẽ được thay đổi thành Int64.
Có nhiều cách khác nhau để kiểm tra kích thước của INT và đó là phân bổ bộ nhớ. Lưu ý: Trong Python 3, sử dụng phương thức loại tích hợp [] sẽ luôn trả về
3 bất kể bạn đang sử dụng kích thước nào.Code language: Python [python]
counter = 10 print[type[counter]]
Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về các số nguyên Python và cách Python lưu trữ số nguyên trong bộ nhớ.: in this tutorial, you’ll learn about Python integers and how Python stores integers in the memory.
Số nguyên là các số toàn bộ bao gồm số âm, số 0 và số dương như -3, -2, -1, 0, 1, 2, 3.
Python sử dụng lớp
4 để thể hiện tất cả các số nguyên. Tất cả các số nguyên là đối tượng.Code language: Python [python]
counter = 10 print[type[counter]]
Cách máy tính lưu trữ số nguyên
Máy tính có thể lưu trữ số nguyên trực tiếp. Thay vào đó, họ chỉ có thể lưu trữ các số nhị phân như 0 và 1.
Để lưu trữ số nguyên, các máy tính cần sử dụng số nhị phân để đại diện cho các số nguyên.
Ví dụ: để lưu trữ số 5, các máy tính cần thể hiện nó bằng số cơ sở-2:
5 = 1 x 22 + 0 x 21 + 1 x 20
Như bạn có thể thấy, phải mất 3 bit để lưu trữ số 5 trong bộ nhớ:
[101] 2 = [5] 10
Giả sử rằng bạn có 8 bit, bạn có thể lưu trữ tối đa 255 số nguyên từ 0 đến 255:
255 = 1x 27 + 1 x 26 + 1 x 25 + 1x 24 + 1 x 23 + 1 x 22 + 1x 21 + 1 x 20
Bằng cách sử dụng 8 bit, bạn có thể lưu trữ tối đa 28 - 1 = 255 số nguyên.
Để lưu trữ cả số nguyên âm, số không và số nguyên dương, bạn cần đặt trước 1 bit để lưu trữ dấu hiệu, âm [-] và dương [+]. Do đó, với 8 bit:
- Số nguyên lớn nhất mà máy tính có thể đại diện là 27 = 127.
- Và các máy tính có thể lưu trữ tất cả các số nguyên trong phạm vi [-127, 127]
Vì số 0 không có dấu hiệu, các máy tính có thể vắt thêm một số. Do đó, 8 bit có thể lưu trữ tất cả các số nguyên từ -128 đến 127.
8 bit = [-27, 27-1]
Tương tự, nếu bạn muốn sử dụng 16 bit, 32 bit và 64 bit để lưu trữ số nguyên, phạm vi sẽ là:
- 16-bit ~ [-215, 215-1] = [
5,
Code language: Python [python]counter = 10 print[type[counter]]
6]
Code language: Python [python]counter = 10 print[type[counter]]
- 32-bit ~ [-231, 231-1] = [-________ 17,
8]
Code language: Python [python]counter = 10 print[type[counter]]
- 64-bit ~ [-263, 263-1] = [
9,
Code language: Python [python]counter = 10 print[type[counter]]
0]
Code language: Python [python]
Làm thế nào python đại diện cho số nguyên
Các ngôn ngữ lập trình khác như Java và C# sử dụng một số bit cố định để lưu trữ số nguyên.
Ví dụ: C# có loại
4 sử dụng loại 32 bit và loạiCode language: Python [python]
counter = 10 print[type[counter]]
2 sử dụng 64 bit để thể hiện số nguyên. Dựa trên các loại số nguyên, bạn có thể xác định phạm vi của các số nguyên mà các loại có thể đại diện.Code language: Python [python]
Tuy nhiên, Python không sử dụng một số bit cố định để lưu trữ số nguyên. Thay vào đó, Python sử dụng một số lượng bit khác nhau để lưu trữ số nguyên. Ví dụ, 8 bit, 16 bit, 32 bit, 64 bit, 128 bit, v.v.Python uses a variable number of bits to store integers. For example, 8 bits, 16 bits, 32 bits, 64 bits, 128 bits, and so on.
Số nguyên tối đa mà Python có thể đại diện phụ thuộc vào bộ nhớ có sẵn.
Ngoài ra, số nguyên là đối tượng. Python cần thêm một số byte cố định như một chi phí cho mỗi số nguyên.
Điều quan trọng cần lưu ý là các số nguyên càng lớn thì các tính toán càng chậm như
3,Code language: Python [python]
4, sẽ có.
Code language: Python [python]
Python int loại
Sau đây xác định một biến tham chiếu một số nguyên và sử dụng hàm
5 để lấy tên lớp của số nguyên:Code language: Python [python]
Code language: Python [python]
counter = 10 print[type[counter]]
Output:
Code language: Python [python]
Như bạn có thể thấy rõ từ ouput, một số nguyên là một ví dụ của lớp
4.Code language: Python [python]
counter = 10 print[type[counter]]
Nhận được kích thước của một số nguyên
Để có được kích thước của một số nguyên, bạn sử dụng hàm
7 của mô -đunCode language: Python [python]
8.Code language: Python [python]
Hàm
7 trả về số byte mà Python sử dụng để đại diện cho một số nguyên. Ví dụ:Code language: Python [python]
Code language: Python [python]
from sys import getsizeof counter = 0 size = getsizeof[counter] print[size] # 24 bytes
Ouput:
Code language: Python [python]
24
Để lưu trữ số 0, Python sử dụng 24 byte. Kể từ khi lưu trữ số 0, Python chỉ cần sử dụng 1 bit. Lưu ý rằng 1 byte bằng 8 bit.
Do đó, bạn có thể nghĩ rằng Python sử dụng 24 byte như một chi phí để lưu trữ một đối tượng số nguyên.
Các phần sau trả về kích thước của số nguyên 100:
Code language: Python [python]
from sys import getsizeof counter = 100 size = getsizeof[counter] print[size] # 28 bytes
Output:
Code language: Python [python]
28
Nó trả về 28 byte. Vì 24 byte là một chi phí, Python sử dụng 4 byte để thể hiện số 100.
Sau đây cho thấy kích thước của số nguyên 264:
Code language: Python [python]
from sys import getsizeof counter = 2**64 size = getsizeof[counter] print[size] # 36 bytes
Output:
Code language: Python [python]
36
Vì vậy, để lưu trữ số nguyên 264, Python sử dụng 36 byte.
Hoạt động số nguyên Python
Số nguyên Python hỗ trợ tất cả các hoạt động tiêu chuẩn bao gồm:
- Bổ sung +
- Phép trừ -
- Phép nhân *
- Phân công /
- Số mũ **
Kết quả của việc bổ sung, trừ, nhân và số mũ của số nguyên là một số nguyên. Ví dụ:
Code language: Python [python]
a = 10 b = 20 c = a + b print[c] print[type[c]] c = a - b print[c] print[type[c]] c = a * b print[c] print[type[c]] c = a ** b print[c] print[type[c]]
Output:
0Code language: Python [python]
counter = 10 print[type[counter]]
Tuy nhiên, sự phân chia của hai số nguyên luôn trả về một số điểm nổi. Ví dụ:
1Code language: Python [python]
counter = 10 print[type[counter]]
Output:
2Code language: Python [python]
counter = 10 print[type[counter]]
Bản tóm tắt
- Số nguyên là các số toàn bộ bao gồm các số nguyên âm, số 0 và số nguyên dương.
- Máy tính sử dụng số nhị phân để đại diện cho số nguyên.
- Python sử dụng một số lượng bit thay đổi để thể hiện số nguyên. Do đó, số nguyên lớn nhất mà Python có thể đại diện phụ thuộc vào bộ nhớ có sẵn của máy tính.
- Trong Python, tất cả các số nguyên là trường hợp của lớp
4.
Code language: Python [python]counter = 10 print[type[counter]]
- Sử dụng hàm
7 của mô -đun
Code language: Python [python]
8 để có được số byte của số nguyên.
Code language: Python [python] - Các số nguyên Python hỗ trợ tất cả các hoạt động tiêu chuẩn bao gồm bổ sung, trừ, nhân, chia và số mũ.
Bạn có thấy hướng dẫn này hữu ích không?