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

Тип данных uint32

Тип данных uint32 (unsigned integer 32-bit) в библиотеке NumPy представляет беззнаковое 32-битное целое число. Данный тип может хранить целые числа в диапазоне от 0 до 4 294 967 295. Он часто используется для работы с большими неотрицательными числами, индексами, хеш-значениями, пикселями изображений и идентификаторами, когда требуется экономия памяти по сравнению с 64-битными типами.

Синтаксис

np.dtype('uint32') # или np.uint32

Пример

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

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

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

[10 20 30 40 50] uint32

Пример

Попробуем создать массив с отрицательными числами. При использовании типа uint32, отрицательные значения будут интерпретироваться как беззнаковые и преобразовываться в соответствии с модульной арифметикой:

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

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

[4294967295 0 1]

Пример

Рассмотрим граничные значения типа uint32. Максимальное значение равно 2^32 - 1, а минимальное - 0. При попытке выйти за пределы диапазона происходит переполнение:

import numpy as np arr = np.array([2**32 - 1, 2**32, 2**32 + 1], dtype=np.uint32) print(arr)

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

[4294967295 0 1]

Пример

Тип uint32 можно использовать для создания массива из обычного списка чисел с последующим явным приведением типа через метод astype:

import numpy as np arr = np.array([100, 200, 300, 400]) arr_uint32 = arr.astype(np.uint32) print(arr_uint32) print(arr_uint32.dtype)

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

[100 200 300 400] uint32

Пример

Выполним арифметическую операцию над массивом типа uint32. Сложение двух чисел в пределах допустимого диапазона работает корректно, а при переполнении результат вычисляется по модулю 2^32:

import numpy as np arr1 = np.array([2**32 - 1, 100], dtype=np.uint32) arr2 = np.array([1, 200], dtype=np.uint32) res = arr1 + arr2 print(res)

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

[0 300]

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

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