mirror of
https://bitbucket.org/Mattrixwv/rusttutorials.git
synced 2025-12-07 11:03:58 -05:00
Added files for chapter 2
This commit is contained in:
28
2.Primitives/1-LiteralsAndOperators.rs
Normal file
28
2.Primitives/1-LiteralsAndOperators.rs
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user