如何在 Go 中将整数转换为二进制形式,反之亦然

use*_*979 2 binary integer go

如何将整数转换为二进制形式?

我目前正在开发一个程序,该程序接受整数并将其转换为二进制形式。它还应该获取二进制数并将其反转,然后将其转换回整数并打印出来。

IE

12 -> 1100 -> 0011 -> 3

所以程序基本上应该:​​ 输入:12 输出:3

package main

import (
    "fmt"
    "strconv"
)

var j int

func main() {
    fmt.Scan(&j)
    n := int64(j)
    y := strconv.FormatInt(n, 2)
    fmt.Println(y)
    reverse(y)
}

func reverse(y string) {
}
Run Code Online (Sandbox Code Playgroud)

Lil*_*ard 5

您可能想使用编码/二进制

示例(goplay):

package main

import "fmt"
import "encoding/binary"
import "bytes"

func main() {
    j := int32(5247)
    buf := new(bytes.Buffer)
    err := binary.Write(buf, binary.BigEndian, j)
    if err != nil {
        fmt.Println(err)
        return
    }
    var k int32
    err = binary.Read(buf, binary.BigEndian, &k)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(k)
}
Run Code Online (Sandbox Code Playgroud)