Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n := int64(123)
- fmt.Println(strconv.FormatInt(n, 2)) // 1111011
- n := int64(123)
- fmt.Printf("%b", n) // 1111011
- x := big.NewInt(123)
- s := fmt.Sprintf("%b", x)
- // s == "1111011"
- /* --- Credit to Dave C in the comments --- */
- package main
- import (
- "bytes"
- "fmt"
- )
- func main() {
- fmt.Printf("<%s>n", fmtBits([]byte{0xDE, 0xAD, 0xBE, 0xEF, 0xF0, 0x0D, 0xDE, 0xAD, 0xBE, 0xEF, 0xF0, 0x0D}))
- // OUTPUT:
- // <11011110 10101101 10111110 11101111 11110000 00001101 11011110 10101101 10111110 11101111 11110000 00001101>
- }
- func fmtBits(data []byte) []byte {
- var buf bytes.Buffer
- for _, b := range data {
- fmt.Fprintf(&buf, "%08b ", b)
- }
- buf.Truncate(buf.Len() - 1) // To remove extra space
- return buf.Bytes()
- }
- package main
- import (
- "fmt"
- "strconv"
- "unsafe"
- )
- func bInt(n int64) string {
- return strconv.FormatUint(*(*uint64)(unsafe.Pointer(&n)), 2)
- }
- func main() {
- fmt.Println(bInt(-1))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement