Guest User

Untitled

a guest
Dec 15th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. fn main() {
  2. let mut byte: u8 = 0b0000_0000;
  3.  
  4. byte |= 0b0000_1000; // Set a bit
  5. println!("0b{:08b}", byte);
  6.  
  7. byte &= 0b1111_0111; // Unset a bit
  8. println!("0b{:08b}", byte);
  9.  
  10. byte ^= 0b0000_1000; // Toggle a bit
  11. println!("0b{:08b}", byte);
  12. }
  13.  
  14. fn main() {
  15. let mut byte: u8 = 0b0000_0000;
  16.  
  17. byte = !byte; // Flip all bits
  18. println!("0b{:08b}", byte);
  19. }
  20.  
  21. fn main() {
  22. let mut byte: u8 = 0b0000_1000;
  23.  
  24. byte <<= 1; // shift left one bit
  25. println!("0b{:08b}", byte);
  26.  
  27. byte >>= 1; // shift right one bit
  28. println!("0b{:08b}", byte);
  29. }
  30.  
  31. fn main() {
  32. let mut byte: u8 = 0b1000_0000;
  33.  
  34. byte = byte.rotate_left(1); // rotate left one bit
  35. println!("0b{:08b}", byte);
  36.  
  37. byte = byte.rotate_right(1); // rotate right one bit
  38. println!("0b{:08b}", byte);
  39. }
  40.  
  41. fn bit_twiddling(original: u8, bit: u8) {
  42. let mask = 1 << bit;
  43.  
  44. println!(
  45. "Original: {:b}, Set: {:b}, Cleared: {:b}, Toggled: {:b}",
  46. original,
  47. original | mask,
  48. original & !mask,
  49. original ^ mask
  50. );
  51. }
  52.  
  53. fn main() {
  54. bit_twiddling(0, 3);
  55. bit_twiddling(8, 3);
  56. }
Add Comment
Please, Sign In to add comment