Go 言語で「基礎プログラミング演習 I 〜100 本ノック中級編」を解いてみる-No.56「2 進数変換」
はじめに
「基礎プログラミング演習 I 〜100 本ノック中級編」を解いてみます。
取り扱う問題は以下のサイトを引用させていただきました。
検証環境
$ uname -moi
x86_64 unknown GNU/Linux
$ head -n 2 /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
$ go version | head -n 1
go version go1.16.3 linux/amd64
問題
No. 56 2 進数変換
0〜65535 の整数値を入力させ、入力値を 16 桁の 2 進数に変換して表示するプログラムを作成せよ。
# 【実行例、下線部は入力例】
$ ./knock56
input number: 127
0000000001111111
$ ./knock56
input number: 10000
0010011100010000
$ ./knock56
input number: 65535
1111111111111111
回答
knock56.go
package main
import (
"fmt"
)
func main() {
var n int
fmt.Printf("input number: ")
fmt.Scan(&n)
fmt.Printf("%016b\n", n)
}
実行
$ go run knock56.go
input number: 127
0000000001111111
$ go run knock56.go
input number: 10000
0010011100010000
$ go run knock56.go
input number: 65535
1111111111111111
ひとこと
fmt.Printf
関数で %b
を利用すると、与えられた数を 2 進数に変換してくれます。
こちらの機能とゼロフィルの機能を組み合わせました。
ディスカッション
コメント一覧
まだ、コメントがありません