Тип uint64
Тип uint64 в NumPy представляет 64-битное беззнаковое целое число. Диапазон значений от 0 до 2^64-1 (18446744073709551615). Тип используется для хранения больших неотрицательных целых чисел, индексов, идентификаторов и других данных, где отрицательные значения недопустимы. При выходе за пределы диапазона происходит переполнение с обертыванием по модулю 2^64.
Синтаксис
np.uint64(value)
np.array(value, dtype=np.uint64)
Пример
Создадим массив с типом uint64:
import numpy as np
arr = np.array([1, 2, 3, 4, 5], dtype=np.uint64)
print(arr)
print(arr.dtype)
Результат выполнения кода:
[1 2 3 4 5]
uint64
Пример
Преобразуем значение в uint64:
import numpy as np
value = np.uint64(18446744073709551615)
print(value)
print(type(value))
Результат выполнения кода:
18446744073709551615
<class 'numpy.uint64'>
Пример
Переполнение uint64 при добавлении к максимальному значению:
import numpy as np
max_val = np.uint64(18446744073709551615)
res = max_val + np.uint64(1)
print("Max value:", max_val)
print("Max + 1:", res)
Результат выполнения кода:
Max value: 18446744073709551615
Max + 1: 0
Пример
Сравнение uint64 с другими целочисленными типами:
import numpy as np
arr = np.array([-1, 0, 1], dtype=np.uint64)
print("uint64 values:", arr)
try:
arr2 = np.array([-1, 0, 1], dtype=np.int64)
print("int64 values:", arr2)
except OverflowError as e:
print("Error:", e)
Результат выполнения кода:
uint64 values: [18446744073709551615 0 1]
int64 values: [-1 0 1]