Added files for chapter 2

This commit is contained in:
2020-06-10 18:16:27 -04:00
parent 819f8ca8f6
commit 3a8281a2a5
3 changed files with 134 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
/*
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);
}