Пытаюсь преобразовать массив байтов в число, для этого мне нужно возвести основание (256) в степень (i), но у меня конфликт типов:
let curr_num: usize = 2000;
let mut num: usize = 0;
for (b, i) in curr_num.to_le_bytes().iter().enumerate() {
let i: u32 = u32::from(*i);
let system: usize = 256;
num += b * system.pow(i);
}
println!("{num}");
Пробую .into/ as u32, получаю ошибку времени выполнения:
thread 'main' panicked at /home/runner/.termux-build/rust/src/library/core/src/num/mod.rs:1281:5: attempt to multiply with overflow note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace