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

时间:2013-04-04 17:13:20

标签: binary integer go

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

我正在研究一个采用整数并将其转换为二进制形式的程序。 它还应该取二进制数并将其反转并将其转换回整数并将其打印出来。

即。

  

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) {
}

1 个答案:

答案 0 :(得分:4)

您可能想要使用encoding/binary

示例(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)
}