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

Тип uint16

Тип uint16 в библиотеке NumPy представляет собой шестнадцатиразрядное целое число без знака. Этот тип данных может хранить значения в диапазоне от 0 до 65535. Он занимает ровно 2 байта памяти, что позволяет эффективно использовать ресурсы при работе с большими массивами данных. Тип uint16 часто применяется для хранения изображений в градациях серого, аудиоданных и других числовых последовательностей, где значения не могут быть отрицательными.

Синтаксис

Тип данных uint16 указывается в качестве параметра dtype при создании массива:

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

Пример

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

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

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

[1 2 3 4 5] uint16

Пример

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

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.uint16) print(arr) print("Itemsize:", arr.itemsize)

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

[[1 2 3] [4 5 6]] Itemsize: 2

Каждый элемент массива занимает 2 байта, что подтверждает использование типа uint16.

Пример

При попытке присвоить отрицательное значение массиву типа uint16 возникает переполнение:

import numpy as np arr = np.array([1, 2, 3], dtype=np.uint16) arr[0] = -1 print(arr)

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

[65535 2 3]

Отрицательное значение преобразуется в максимальное значение для данного типа, так как тип uint16 не поддерживает отрицательные числа.

Пример

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

import numpy as np arr_int = np.array([10, 20, 30, 40, 50], dtype=np.int32) arr_uint = arr_int.astype(np.uint16) print(arr_uint) print(arr_uint.dtype)

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

[10 20 30 40 50] uint16

Пример

Используем константу np.iinfo для получения информации о типе uint16:

import numpy as np info = np.iinfo(np.uint16) print("Min:", info.min) print("Max:", info.max) print("Bits:", info.bits)

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

Min: 0 Max: 65535 Bits: 16

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

  • тип uint8,
    восьмиразрядное целое число без знака
  • тип uint32,
    тридцатидвухразрядное целое число без знака
  • тип uint64,
    шестидесятичетырехразрядное целое число без знака
  • тип int16,
    шестнадцатиразрядное целое число со знаком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить