2進数,8進数,16進数

以下の作業を実施して,ファイル「 report.txt 」(エンコーディングはUTF-8)をITC-LMSで提出しなさい. なお,2進法についてははいぱーわーくぶっくでも説明されています.

1.クイズ

大きなホテルで,「4」「9」の2つの文字を用いずに部屋番号をつけることにした. 『1号室』から始めて,端から昇順に部屋番号を振っていくものとする. たとえば,4番目の部屋は『5号室』となり,『10号室』は8番目の部屋になる. このとき,以下の問いに答えよ.
  1. 『10000号室』は何番目の部屋になるだろうか? 答え(何番目であるか)と考え方を書きなさい.
  2. 5000番目の部屋は『何号室』になるだろうか? 答え(『何号室』であるか)と考え方を書きなさい.
  3. 5xxx番目の部屋は『何号室』になるだろうか? ただし,xxx部分には自分の学生証番号の末尾3桁をあてるものとする. たとえば,学生証番号が「J4170469」であれば,5469番目の部屋を答えることになる. 答え(『何号室』であるか)を書きなさい.
  4. 『10yyy号室』は何番目の部屋になるだろうか? ただし,yyy部分には自分の学生証番号の末尾3桁をあてるものとするが, 「4」は「8」,「9」は「6」に置き換えることにする. たとえば,学生証番号が「J4170469」であれば,『10866号室』について答えることになる. 答え(何番目であるか)を書きなさい.
(ヒント)本来は「0」〜「9」の10種類の文字を用いるところを, 「4」「9」の2種類を用いないので,実際に使う文字は8種類となる.

2.IPアドレスと計算

手近に得られる数字列として端末のIPアドレスを利用し,16進数や2進数の表記法に慣れる. ターミナルを起動して「hostname」と入力しEnterを押すと,端末名が表示される. さらに得られた端末名を使い「host 端末名」と入力すると, 「端末名 has address 133.11.225.41」のようにIPアドレスが表示される. この例の場合には,「133.11.225.41」が端末のIPアドレスになる. これを『端末IPアドレス』と呼ぶことにする.

pc113003m:~ 7329821921$ hostname¶                             (端末名の確認)
pc113003m.ecc.u-tokyo.ac.jp
pc113003m:~ 7329821921$ host pc113003m.ecc.u-tokyo.ac.jp¶     (端末のIPアドレス)
pc113003m.ecc.u-tokyo.ac.jp has address 133.11.225.41

ここではわかりやすくするために,以降の例示では『端末IPアドレス』を「1.2.10.16」として説明する.
  1. 『端末IPアドレス』に関する作業
    1. hostコマンドを利用して,『端末IPアドレス』を調べなさい. 通常のIPアドレスの表記法にしたがって,各数字(10進数)の間にはピリオドを入れるものとする. 以下の例では「1.2.10.16」とする.
    2. 端末IPアドレス』を16進数で表記しなさい. 『端末IPアドレス』の4つの数字は,それぞれ8ビットを表しているので, 16進数では2桁になるはずである. また,読みやすくするために,各2桁の間には空白を1つずつ入れること. 『端末IPアドレス』が「1.2.10.16」であれば,解答は「01 02 0a 10」となる.
    3. 『端末IPアドレス』を2進数で表記しなさい. 『端末IPアドレス』の4つの数字は,それぞれ8ビットを表しているので, 2進数では8桁になるはずである. また,読みやすくするために,各8桁の間には空白を1つずつ入れること. 『端末IPアドレス』が「1.2.10.16」であれば, 解答は「00000001 00000010 00001010 00010000」となる.

  2. 『(1+) IPアドレス』に関する作業
    1. 『端末IPアドレス』の*最後の数字だけ*に 1 を加えて,『(1+) IPアドレス』を作りなさい. なお表記法は『端末IPアドレス』の場合と同様とする. 『端末IPアドレス』が「1.2.10.16」であれば,『(1+) IPアドレス』は「1.2.10.17」となる.
    2. 『(1+) IPアドレス』を16進数で表記しなさい. なお表記法は『端末IPアドレス』の場合と同様とする. たとえば,『(1+) IPアドレス』が「1.2.10.17」であれば,解答は「01 02 0a 11」となる.
    3. 『(1+) IPアドレス』を2進数で表記しなさい. この場合も表記法は『端末IPアドレス』の場合と同様とする. たとえば,『(1+) IPアドレス』が「1.2.10.17」であれば, 解答は「00000001 00000010 00001010 00010001」となる.

  3. 『(255-)IPアドレス』に関する作業
    1. 『端末IPアドレス』の*4つの数字*を,それぞれ255から引いて, 『(255-)IPアドレス』を作りなさい. 『端末IPアドレス』が「1.2.10.16」であれば, 『(255-) IPアドレス』は「254.253.245.239」となる.
    2. 『(255-)IPアドレス』を16進数で表記しなさい. なお表記法は『端末IPアドレス』の場合と同様とする.
    3. 『(255-)IPアドレス』を2進数で表記しなさい. なお表記法は『端末IPアドレス』の場合と同様とする.

  4. 2進数の計算
    1. 『端末IPアドレス』と『(1+) IPアドレス』の2進数表記に対して加算を行いなさい. たとえば,上記の例では,
      『端末IPアドレス』が「00000001 00000010 00001010 00010000」,
      『(1+) IPアドレス』が「00000001 00000010 00001010 00010001」なので,
      解答は       「00000010 00000100 00010100 00100001」となる.
      なお,最上位で桁上がりが起きた場合には,その1桁も加えて書くものとする.たとえば,
      『端末IPアドレス』が「10000000 00000000 00000000 00000000」,
      『(1+) IPアドレス』が「10000000 00000000 00000000 00000001」であれば,
      解答は      「1 00000000 00000000 00000000 00000001」となる.
    2. 『端末IPアドレス』と『(255-)IPアドレス』の2進数表記に対して加算を行いなさい. 最上位で桁上がりが起きた場合には,上と同様に1桁を加えて書くものとする.
    3. 『(1+) IPアドレス』と『(255-)IPアドレス』の2進数表記に対して加算を行いなさい. 最上位で桁上がりが起きた場合には,上と同様に1桁を加えて書くものとする.
report.txt 」 (マウスボタンの右クリックでダウンロード可能,エンコーディングはUTF-8)を基準として, 自分の科類・クラス,学生証番号,氏名,それぞれの解答を記入しなさい. 概ね,次のようになるはずです.
○科類・クラス:
理科1類 03組

○学生証番号:
J4170469

○氏名:
山口 泰

○クイズ:
1. 『10000号室』
????番目の部屋
理由は…

2. 5000番目の部屋
『?????号室』
…というように計算できる

3. 5469番目の部屋
『?????号室』

4. 『10866号室』
????番目の部屋

○IPアドレスと計算:
1-1 『端末IPアドレス』
1.2.10.16

1-2 『端末IPアドレス』の16進表記
01 02 0a 10

1-3 『端末IPアドレス』の2進表記
00000001 00000010 00001010 00010000

2-1 『(1+) IPアドレス』
1.2.10.17

2-2 『(1+) IPアドレス』の16進表記
01 02 0a 11

2-3 『(1+) IPアドレス』の2進表記
00000001 00000010 00001010 00010001

3-1 『(255-) IPアドレス』
254.253.245.239

3-2 『(255-) IPアドレス』の16進表記
?? ?? ?? ??

3-3 『(255-) IPアドレス』の2進表記
???????? ???????? ???????? ????????

4-1 『端末IPアドレス』と『(1+) IPアドレス』の加算
00000010 00000100 00010100 00100001

4-2 『端末IPアドレス』と『(255-) IPアドレス』の加算
???????? ???????? ???????? ????????

4-3 『(1+) IPアドレス』と『(255-) IPアドレス』の加算
???????? ???????? ???????? ????????


3.ファイルの提出

作成したファイルを ITC-LMS で提出しなさい.