Advertisement
Guest User

Untitled

a guest
Apr 20th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. #[inline]
  2. fn u16tou8ale(v: u16) -> [u8; 2] {
  3. [
  4. v as u8,
  5. (v >> 8) as u8,
  6. ]
  7. }
  8.  
  9. // little endian
  10. #[inline]
  11. fn u32tou8ale(v: u32) -> [u8; 4] {
  12. [
  13. v as u8,
  14. (v >> 8) as u8,
  15. (v >> 16) as u8,
  16. (v >> 24) as u8,
  17. ]
  18. }
  19.  
  20. // big endian
  21. #[inline]
  22. fn u32tou8abe(v: u32) -> [u8; 4] {
  23. [
  24. (v >> 24) as u8,
  25. (v >> 16) as u8,
  26. (v >> 8) as u8,
  27. v as u8,
  28. ]
  29. }
  30.  
  31. fn main() {
  32. println!("{:?}", u32tou8ale(0x12345678));
  33. println!("{:?}", u32tou8abe(0x12345678));
  34. }
  35.  
  36. fn main() {
  37. unsafe {
  38. let p: *const u32 = std::mem::transmute(main);
  39. println!("{:?}", u32tou8ale(*p));
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement