#[allow(non_snake_case)] // Dafür da, dass moduloInKurz ohne Meckern geschrieben werden kann #[allow(overflowing_literals)] // Für Overflow Spaß // Casting auch hier fn main() { // Grundrechenarten sind alle wie in anderen Sprachen, nichts spannendes let summe: i32 = 12 + 23; let differenz: i32 = summe - 10; let produkt: i32 = differenz * summe; let quotient: i32 = produkt / differenz; let modulo: i32 = quotient % 2; println!("{summe}"); println!("{differenz}"); println!("{produkt}"); println!("{quotient}"); println!("{modulo}"); // modulo benötigt jetzt keine 32 Bits, man kann es auch in i8 packen let moduloInKurz = modulo as i8; println!("{moduloInKurz}"); // Man kann aber auch witzigere Sachen machen println!("{}", 10000000 as u8); // Casting mit Overflow ist dank der oberen Präprozessoranweisung möglich let integer: i32 = -1234; let unsigned = integer as u8; println!("{unsigned}"); // Problemloses casten in char ist mit as nur möglich, wenn der Ursprungswert ein u8 ist let character = unsigned as char; println!("{character}"); }