鉄則本
A04 - Binary Representation 1

A04 - Binary Representation 1

キーワード

解説

問題 (opens in a new tab)

今回は、fmt.Printfを使って、10 進数を 2 進数に変換して出力するだけで解ける。10 桁で出力するために、%010bというフォーマットを使う。

ii bit 目の値を求めるには、n2i2^iで割ったものを 22 で割った余りを求めれば良い。2i2^i を求めるには、1 << iを使う。
10 桁目から順に求めるためには、iを 9 から 0 まで減らしていけば良い。余った bit は自動的に 0 になる。

提出コード

func main() {
	n := readInt()
	writeFormat("%010b\n",n)
}
func main() {
	n := readInt()
 
	for x := 9; x >= 0; x-- {
		wari := 1 << x
		write(n / wari % 2)
	}
	writeLine()
}