РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
342 of 541 menu

Тип int8

Тип данных int8 в NumPy представляет 8-битные знаковые целые числа. Он занимает 1 байт памяти и может хранить значения в диапазоне от -128 до 127 включительно. Этот тип полезен при работе с большими массивами данных, где важна экономия памяти, а значения не выходят за указанный диапазон.

При создании массива тип int8 можно указать через параметр dtype функции array или использовать встроенную константу np.int8.

Синтаксис

np.array(object, dtype=np.int8)

Пример

Создадим массив из целых чисел с явным указанием типа int8:

import numpy as np arr = np.array([1, 2, 3, 4, 5], dtype=np.int8) print(arr) print(arr.dtype)

Результат выполнения кода:

[1 2 3 4 5] int8

Пример

Попробуем сохранить в массив типа int8 число, выходящее за допустимый диапазон:

import numpy as np arr = np.array([128, -129], dtype=np.int8) print(arr)

Результат выполнения кода:

[-128 127]

Значения выходят за границы диапазона, поэтому происходит переполнение: 128 превращается в -128, а -129 в 127.

Пример

Создадим двумерный массив типа int8 и проверим его размер в памяти:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int8) print(arr) print(arr.dtype) print(arr.itemsize) print(arr.nbytes)

Результат выполнения кода:

[[1 2 3] [4 5 6]] int8 1 6

Каждый элемент занимает 1 байт (itemsize = 1), общий размер массива 6 байт.

Пример

Преобразуем существующий массив в тип int8 с помощью метода astype:

import numpy as np arr_float = np.array([1.5, 2.7, 3.9]) arr_int8 = arr_float.astype(np.int8) print(arr_float) print(arr_int8)

Результат выполнения кода:

[1.5 2.7 3.9] [1 2 3]

При преобразовании дробные части отбрасываются (усечение в сторону нуля).

Смотрите также

  • тип uint8,
    который хранит беззнаковые 8-битные целые числа
  • тип int16,
    который хранит 16-битные знаковые целые числа
  • тип int32,
    который хранит 32-битные знаковые целые числа
  • тип int64,
    который хранит 64-битные знаковые целые числа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить