2進数, 8進数, 16進数

以下の作業を実施して, ファイル「 report.txt 」を CFIVE で提出しなさい.

1. クイズ(「たけしのコマネチ大学」から)

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

2. IPアドレスと計算

前回の課題でメールを送る際に利用した端末のIPアドレスを利用して, 16進数や2進数の表記法に慣れる. メールヘッダの「Received: 」の最後の行で from 以降の数字がIPアドレスである. 以下の例の場合には,「133.11.45.163」が端末のIPアドレスになる.これを『端末IPアドレス』と呼ぶことにする.

なお,デフォルトの設定ではメールヘッダが見られないようになっているかもしれない.そのような場合には,メニューバーから「Mail」→「環境設定」→「表示」→「ヘッダの詳細情報を表示」の部分で,「すべて」を選択すること.

ここではわかりやすくするために, 以降の例示では『端末IPアドレス』を「1.2.10.16」として説明する.
  1. 『端末IPアドレス』に関する作業
    1. 前回の課題に用いたメールから,『端末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組

○学生証番号:
940469

○氏名:
山口 泰

○クイズ:
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アドレス』の加算
???????? ???????? ???????? ????????


○前回,課題メールのヘッダ:
> From: 
> Date: 2007年5月29日 18:15:55:JST
> Subject: report
> Return-Path: 
> Received: from md001.ecc.u-tokyo.ac.jp (md101.ecc.u-tokyo.ac.jp [192.168.160.21]) by post005.ecc.u-tokyo.ac.jp (MOS 3.5.8-GR) with ESMTP id AEI11616 (AUTH via LOGINBEFORESMTP); Tue, 29 May 2007 18:16:04 +0900 (JST)
> Received: from spam005.ecc.u-tokyo.ac.jp (spam005.ecc.u-tokyo.ac.jp [133.11.50.198]) by md001.ecc.u-tokyo.ac.jp (MOS 3.4.5-GR) with ESMTP id BUA32274; Tue, 29 May 2007 18:16:04 +0900 (JST)
> Received: from 1.2.10.16 (1.2.10.16 [1.2.10.16]) by spam005.ecc.u-tokyo.ac.jp (SpamBlock.pst 3.4.97) with ESMTP id 1180430155965943.930750527@spam005.ecc.u-tokyo.ac.jp for ; Tue, 29 May 2007 18:15:55 +0900
> X-Ip: 1.2.10.16
> X-From-Domain: mail.ecc.u-tokyo.ac.jp
> X-From-Email: yama@mail.ecc.u-tokyo.ac.jp
> Message-Id: <1180430155965943.930750527@spam005.ecc.u-tokyo.ac.jp>
>
> This is a mail test with telnet.


3. ファイルの提出

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