Атрибут bits
Атрибут bits класса iinfo возвращает количество бит,
которое используется для хранения значений целочисленного типа данных
в NumPy. Это значение показывает разрядность типа: например, для типа
int32 возвращается 32, для int64 - 64. Атрибут доступен
только для чтения и позволяет определить аппаратную точность
представления чисел.
Синтаксис
np.iinfo(dtype).bits
где dtype - целочисленный тип данных NumPy
(например, int32, int64, uint8).
Пример
Давайте получим количество бит для различных целочисленных типов:
import numpy as np
# Получаем информацию о типах
info_int8 = np.iinfo(np.int8)
info_int16 = np.iinfo(np.int16)
info_int32 = np.iinfo(np.int32)
info_int64 = np.iinfo(np.int64)
# Выводим количество бит
print(info_int8.bits)
print(info_int16.bits)
print(info_int32.bits)
print(info_int64.bits)
Результат выполнения кода:
8
16
32
64
Пример
Атрибут bits также работает для беззнаковых целых типов:
import numpy as np
# Получаем информацию о беззнаковых типах
info_uint8 = np.iinfo(np.uint8)
info_uint16 = np.iinfo(np.uint16)
info_uint32 = np.iinfo(np.uint32)
info_uint64 = np.iinfo(np.uint64)
# Выводим количество бит
print(info_uint8.bits)
print(info_uint16.bits)
print(info_uint32.bits)
print(info_uint64.bits)
Результат выполнения кода:
8
16
32
64
Пример
Количество бит влияет на диапазон значений, которые может хранить тип.
Сравним bits с минимальным и максимальным значениями:
import numpy as np
info = np.iinfo(np.int16)
print(f"Bits: {info.bits}")
print(f"Min value: {info.min}")
print(f"Max value: {info.max}")
print(f"Range size: {info.max - info.min + 1}")
Результат выполнения кода:
"Bits: 16"
"Min value: -32768"
"Max value: 32767"
"Range size: 65536"
Обратите внимание, что диапазон значений для int16 составляет
2 в степени 16 = 65536 возможных значений.