Rust имеет 128-битные целые числа, они обозначены типом данных i128 (и u128 для беззнаковых целых):
let a: i128 = 170141183460469231731687303715884105727;
Как Rust заставляет эти значения i128 работать в 64-битной системе; например как это делает арифметику на них?
Поскольку, насколько мне известно, значение не может поместиться в один регистр процессора x86-64, компилятор как-то использует 2 регистра для одного значения i128? Или они вместо этого используют какую-то большую целочисленную структуру для их представления?