2

整数をバイナリ形式に変換するにはどうすればよいですか?

私は現在、整数を取り、それをバイナリ形式に変換するプログラムに取り組んでいます。また、2 進数を逆にして整数に変換し、出力する必要があります。

すなわち

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

1 に答える 1

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)
}
于 2013-04-04T17:19:16.993 に答える