解説
IPv4のIPアドレスは「192.168.1.10」のように4つの数字をドットで区切って書きます。それぞれの数字は0〜255の範囲で、これは8ビット(2の8乗=256通り)で表せる数とちょうど一致します。
4つ × 8ビット = 32ビット。つまりIPアドレスの正体は32個の0と1の並びです。format(n, "08b") で各数字を8桁の2進数に変換し、つなげると32ビットになることを確かめます。
書き方
・format(n, "08b"): 整数 n を8桁ゼロ詰めの2進数文字列に変換する。
・'.'.join(str(n) for n in ip): 各数値を文字列にして '.' でつなぐ。
・"".join(binary_parts): 4つの8ビットを連結して32ビットにする。
・int(full, 2): 2進数文字列を10進整数に変換する(第2引数 2 は基数)。
・f"{n:>3}": f文字列で右寄せ3桁に整形。書いて動かす
この回の課題
IPアドレスの4つの数字を各8ビットの2進数に変換し、つなげると32ビットになることを確かめてみよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。