Python membatasi int hingga 32 bit

Diberi bilangan bulat 32-bit yang ditandatangani x, kembalikan x dengan digitnya dibalik. Jika membalikkan x menyebabkan nilai berada di luar rentang bilangan bulat 32-bit yang ditandatangani [-231, 231 - 1], maka kembalikan

Input: x = -123
Output: -321
0

Asumsikan kita berurusan dengan lingkungan yang hanya dapat menyimpan bilangan bulat dalam rentang bilangan bulat bertanda 32-bit. [−231, 231 − 1]. Untuk tujuan masalah ini, asumsikan bahwa fungsi Anda mengembalikan 0 saat bilangan bulat terbalik meluap

Ringkasan. dalam tutorial ini, Anda akan belajar tentang bilangan bulat Python dan bagaimana Python menyimpan bilangan bulat dalam memori

Bilangan bulat adalah bilangan bulat yang meliputi bilangan negatif, nol, dan bilangan positif seperti -3, -2, -1, 0, 1, 2, 3

Python menggunakan kelas

<class 'int'>

Code language: Python (python)
_2 untuk mewakili semua bilangan bulat. Semua bilangan bulat adalah objek

Bagaimana komputer menyimpan bilangan bulat

Komputer tidak dapat menyimpan bilangan bulat secara langsung. Sebaliknya, mereka hanya dapat menyimpan angka biner seperti 0 dan 1

Untuk menyimpan bilangan bulat, komputer perlu menggunakan bilangan biner untuk mewakili bilangan bulat

Misalnya, untuk menyimpan angka 5, komputer harus merepresentasikannya menggunakan angka berbasis 2

5 = 1 x 22 + 0 x 21 + 1 x 20

Seperti yang Anda lihat, dibutuhkan 3 bit untuk menyimpan angka 5 di memori

(101)2 = (5)10

Misalkan Anda memiliki 8 bit, Anda dapat menyimpan hingga 255 bilangan bulat dari nol hingga 255

255= 1x27 + 1x26 + 1x25 + 1x24 + 1x23 + 1x22 + 1x21 + 1x20

Dengan menggunakan 8 bit, Anda dapat menyimpan hingga 28 – 1 = 255 bilangan bulat

Untuk menyimpan bilangan bulat negatif, nol, dan bilangan bulat positif, Anda perlu mencadangkan 1 bit untuk menyimpan tanda, negatif (-) dan positif (+). Oleh karena itu, dengan 8 bit

  • Bilangan bulat terbesar yang dapat diwakili oleh komputer adalah 27 = 127
  • Dan komputer dapat menyimpan semua bilangan bulat dalam kisaran (-127, 127)

Karena angka nol tidak memiliki tanda, komputer dapat mengeluarkan angka tambahan. Oleh karena itu, 8 bit dapat menyimpan semua bilangan bulat dari -128 hingga 127

8-bit = [-27, 27 – 1]

Demikian pula, jika Anda ingin menggunakan 16 bit, 32 bit, dan 64 bit untuk menyimpan bilangan bulat, rentangnya adalah

  • 16-bit ~ [-215, 215 – 1] = [

    <class 'int'>

    Code language: Python (python)
    3,

    <class 'int'>

    Code language: Python (python)
    4]
  • 32-bit ~ [-231, 231 – 1] = [-

    <class 'int'>

    Code language: Python (python)
    5,

    <class 'int'>

    Code language: Python (python)
    6]
  • 64-bit ~ [-263, 263 – 1] = [

    <class 'int'>

    Code language: Python (python)
    7,

    <class 'int'>

    Code language: Python (python)
    8]

Bagaimana Python mewakili bilangan bulat

Bahasa pemrograman lain seperti Java dan C# menggunakan jumlah bit yang tetap untuk menyimpan bilangan bulat

Misalnya, C# memiliki tipe

<class 'int'>

Code language: Python (python)
2 yang menggunakan 32-bit dan tipe

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
0 yang menggunakan 64 bit untuk mewakili bilangan bulat. Berdasarkan jenis bilangan bulat, Anda dapat menentukan rentang bilangan bulat yang dapat diwakili oleh jenis tersebut

Python, bagaimanapun, tidak menggunakan jumlah bit yang tetap untuk menyimpan bilangan bulat. Sebaliknya, Python menggunakan sejumlah variabel bit untuk menyimpan bilangan bulat. Misalnya 8 bit, 16 bit, 32 bit, 64 bit, 128 bit, dan seterusnya

Angka bilangan bulat maksimum yang dapat diwakili oleh Python bergantung pada memori yang tersedia

Juga, bilangan bulat adalah objek. Python membutuhkan jumlah byte tetap ekstra sebagai overhead untuk setiap bilangan bulat

Penting untuk diperhatikan bahwa semakin besar bilangan bulatnya, semakin lambat perhitungannya seperti

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
1,

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
2, …

Tipe int python

Berikut ini mendefinisikan variabel yang mereferensikan bilangan bulat dan menggunakan fungsi

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
3 untuk mendapatkan nama kelas bilangan bulat

counter = 10 print(type(counter))

Code language: Python (python)

Keluaran

<class 'int'>

Code language: Python (python)
_

Seperti yang dapat Anda lihat dengan jelas dari keluaran, bilangan bulat adalah turunan dari kelas

<class 'int'>

Code language: Python (python)
2

Mendapatkan ukuran bilangan bulat

Untuk mendapatkan ukuran bilangan bulat, Anda menggunakan fungsi

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
5 dari modul

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
6

Fungsi

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
5 mengembalikan jumlah byte yang digunakan Python untuk mewakili bilangan bulat. Sebagai contoh

from sys import getsizeof counter = 0 size = getsizeof(counter) print(size) # 24 bytes

Code language: Python (python)
_

Keluaran

24

Code language: Python (python)

Untuk menyimpan angka 0, Python menggunakan 24 byte. Karena menyimpan angka nol, Python hanya perlu menggunakan 1 bit. Perhatikan bahwa 1 byte sama dengan 8 bit

Oleh karena itu, Anda dapat berpikir bahwa Python menggunakan 24 byte sebagai overhead untuk menyimpan objek bilangan bulat

Berikut ini mengembalikan ukuran bilangan bulat 100

from sys import getsizeof counter = 100 size = getsizeof(counter) print(size) # 28 bytes

Code language: Python (python)

Keluaran

28

Code language: Python (python)

Ini mengembalikan 28 byte. Karena 24 byte adalah overhead, Python menggunakan 4 byte untuk mewakili angka 100

Berikut ini menunjukkan ukuran bilangan bulat 264

from sys import getsizeof counter = 2**64 size = getsizeof(counter) print(size) # 36 bytes

Code language: Python (python)

Keluaran

36

Code language: Python (python)

Jadi untuk menyimpan bilangan bulat 264, Python menggunakan 36 byte

Operasi bilangan bulat python

Bilangan bulat Python mendukung semua operasi standar termasuk

  • Penambahan +
  • Pengurangan –
  • Perkalian *
  • Divisi /
  • Eksponen **

Hasil penjumlahan, pengurangan, perkalian, dan eksponen bilangan bulat adalah bilangan bulat. Sebagai contoh

Bisakah 32 bit?

Dalam sistem operasi 32-bit, tipe int biasanya 32 bit, atau 4 byte . Jadi, tipe int setara dengan tipe short int atau long int, dan tipe unsigned int setara dengan tipe unsigned short atau unsigned long, tergantung pada lingkungan target.

Seberapa besar bilangan bulat dalam Python dalam 32

Memiliki nilai minimum -2.147.483.648 dan nilai maksimum 2.147.483.647 (inklusif) . Bilangan bulat 32-bit yang tidak ditandatangani. Ini memiliki nilai minimum 0 dan nilai maksimum 4.294.967.295 (inklusif). Floating point IEEE 754 64-bit presisi ganda.

Seberapa besar bilangan bulat dalam Python menjadi 2 32?

Angka 2.147.483.647 (atau heksadesimal 7FFFFFFF16) adalah nilai positif maksimum untuk bilangan bulat biner bertanda 32-bit dalam komputasi. Oleh karena itu, ini adalah nilai maksimum untuk variabel yang dideklarasikan sebagai bilangan bulat (mis. g. , sebagai int ) dalam banyak bahasa pemrograman.

Bagaimana Anda mengatur max int di Python?

Dalam pemrograman, maxint/INT_MAX menunjukkan nilai tertinggi yang dapat diwakili oleh bilangan bulat.