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

Тип uint8

Тип uint8 (unsigned integer 8-bit) в NumPy представляет собой беззнаковое целое число, занимающее 1 байт (8 бит). Диапазон значений, которые можно хранить в этом типе, составляет от 0 до 255 включительно. Этот тип данных широко применяется для хранения пикселей изображений в градациях серого, байтовых потоков и любых других данных, где значения не могут быть отрицательными и требуется эффективное использование памяти.

Синтаксис

Указание типа uint8 при создании массива:

import numpy as np arr = np.array([1, 2, 3], dtype=np.uint8)

Использование строкового псевдонима:

import numpy as np arr = np.array([1, 2, 3], dtype='uint8')

Пример

Создадим массив из чисел и явно укажем тип uint8:

import numpy as np arr = np.array([10, 20, 30, 40, 50], dtype=np.uint8) print(arr) print(arr.dtype)

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

[10 20 30 40 50] uint8

Пример

Попробуем создать массив с числом, выходящим за пределы допустимого диапазона uint8 (от 0 до 255):

import numpy as np arr = np.array([256, -1, 100], dtype=np.uint8) print(arr)

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

[ 0 255 100]

Значение 256 переполнилось до 0, а отрицательное значение -1 преобразовалось в максимальное значение 255. Это происходит из-за особенностей беззнаковых целочисленных типов.

Пример

Использование uint8 для создания массива из байтовых данных. В этом примере мы преобразуем строку в байты и создадим массив:

import numpy as np data = b'hello' arr = np.frombuffer(data, dtype=np.uint8) print(arr)

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

[104 101 108 108 111]

Пример

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

import numpy as np arr_float = np.array([1.5, 2.9, 3.1, 4.8]) arr_uint8 = arr_float.astype(np.uint8) print(arr_float) print(arr_uint8)

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

[1.5 2.9 3.1 4.8] [1 2 3 4]

При преобразовании дробные части отбрасываются, а целые значения сохраняются, если они входят в диапазон uint8.

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

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