Тип i128
Тип i128 представляет собой 128-битное целое число
со знаком. Он позволяет хранить значения в диапазоне
от -170141183460469231731687303715884105728
до 170141183460469231731687303715884105727.
Этот тип используется, когда значений типа i64
недостаточно, например, в криптографии или при работе
с очень большими числами.
Синтаксис
let x: i128 = 170141183460469231731687303715884105727;
Пример
Давайте создадим переменную типа i128
и выведем её значение:
fn main()
{
let num: i128 = 170141183460469231731687303715884105727;
println!("{}", num);
}
Результат выполнения кода:
170141183460469231731687303715884105727
Пример
Давайте выполним арифметические операции
с числами типа i128:
fn main()
{
let a: i128 = 1000000000000000000;
let b: i128 = 2000000000000000000;
let res = a + b;
println!("{}", res);
}
Результат выполнения кода:
3000000000000000000
Пример
Давайте проверим минимальное и максимальное
значения типа i128 с помощью констант
i128::MIN и i128::MAX:
fn main()
{
println!("{}", i128::MIN);
println!("{}", i128::MAX);
}
Результат выполнения кода:
-170141183460469231731687303715884105728
170141183460469231731687303715884105727
Пример
Давайте найдём сумму элементов вектора
с числами типа i128:
fn main()
{
let vec: Vec<i128> = vec![1000000000000000000, 2000000000000000000, 3000000000000000000];
let res: i128 = vec.iter().sum();
println!("{}", res);
}
Результат выполнения кода:
6000000000000000000