|
@@ -1,10 +1,6 @@
|
|
package bits
|
|
package bits
|
|
|
|
|
|
-import (
|
|
|
|
- "fmt"
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-func SetBit(b byte, flag bool, offset byte) byte {
|
|
|
|
|
|
+func BitSet(b byte, flag bool, offset byte) byte {
|
|
if flag {
|
|
if flag {
|
|
b |= 1 << offset
|
|
b |= 1 << offset
|
|
} else {
|
|
} else {
|
|
@@ -13,6 +9,21 @@ func SetBit(b byte, flag bool, offset byte) byte {
|
|
return b
|
|
return b
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func BitGet(b byte, offset byte) bool {
|
|
|
|
+ mask := byte(1 << byte(offset))
|
|
|
|
+ res := b & mask
|
|
|
|
+ return res > 0
|
|
|
|
+}
|
|
|
|
+
|
|
func StringBits(b byte) string {
|
|
func StringBits(b byte) string {
|
|
- return fmt.Sprintf("%b", b)
|
|
|
|
|
|
+ res := ""
|
|
|
|
+ for i := 7; i >= 0; i-- {
|
|
|
|
+ mask := byte(1 << byte(i))
|
|
|
|
+ if b&mask > 0 {
|
|
|
|
+ res += "1"
|
|
|
|
+ } else {
|
|
|
|
+ res += "0"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return res
|
|
}
|
|
}
|