tools.go 427 B

1234567891011121314151617181920212223242526272829
  1. package bits
  2. func BitSet(b byte, flag bool, offset byte) byte {
  3. if flag {
  4. b |= 1 << offset
  5. } else {
  6. b &= 0 << offset
  7. }
  8. return b
  9. }
  10. func BitGet(b byte, offset byte) bool {
  11. mask := byte(1 << byte(offset))
  12. res := b & mask
  13. return res > 0
  14. }
  15. func StringBits(b byte) string {
  16. res := ""
  17. for i := 7; i >= 0; i-- {
  18. mask := byte(1 << byte(i))
  19. if b&mask > 0 {
  20. res += "1"
  21. } else {
  22. res += "0"
  23. }
  24. }
  25. return res
  26. }