Files
RustTutorials/2.Primitives/1LiteralsAndOperators.rs
2020-06-10 23:34:43 -04:00

29 lines
1018 B
Rust

/*
Integers 1, floats 1.2, characters 'a', strings "abc", booleans true and the unit type () can be expressed using literals.
Integers can, alternatively, be expressed using hexadecimal, octal or binary notation using these prefixes respectively: 0x, 0o or 0b.
*/
fn main(){
//Integer addition
println!("1 + 2 = {}", 1u32 + 2);
//Integer subtraction
println!("1 - 2 = {}", 1i32 - 2);
//TODO ^ Try changing `1i32` to `1u32` to see why the type is important
//Short-circuiting boolean logic
println!("true AND false is {}", true && false);
println!("true OR false is {}", true || false);
println!("NOT true is {}", !true);
//Bitwise operations
println!("0011 AND 0101 is {:04b}", 0b0011u32 & 0b0101);
println!("0011 OR 0101 is {:04b}", 0b0011u32 | 0b0101);
println!("0011 XOR 0101 is {:04b}", 0b0011u32 ^ 0b0101);
println!("1 << 5 is {}", 1u32 << 5);
println!("0x80 >> 2 is 0x{:x}", 0x80u32 >> 2);
//Use underscores to improve readability!
println!("One million is written as {}", 1_000_000u32);
}