hex.h 597 B

123456789101112131415161718192021222324252627282930
  1. #include <stdio.h>
  2. static const char hext[] = "0123456789ABCDEF";
  3. static void printhex(const unsigned char *z,size_t l)
  4. {
  5. printf("[");
  6. for (size_t i = 0;i < l;++i) {
  7. printf("%c%c",hext[*z >> 4],hext[*z & 0xF]);
  8. ++z;
  9. }
  10. printf("]\n");
  11. }
  12. static void printbin(const unsigned char *z,size_t l)
  13. {
  14. printf("[");
  15. for (size_t i = 0;i < l;++i) {
  16. printf("%c%c%c%c%c%c%c%c",
  17. hext[(*z >> 7) & 1],
  18. hext[(*z >> 6) & 1],
  19. hext[(*z >> 5) & 1],
  20. hext[(*z >> 4) & 1],
  21. hext[(*z >> 3) & 1],
  22. hext[(*z >> 2) & 1],
  23. hext[(*z >> 1) & 1],
  24. hext[(*z ) & 1]);
  25. ++z;
  26. }
  27. printf("]\n");
  28. }