モジュール詳細:基数

表比較みたいなもの。

  • 2つの数字とその間に演算子、そして0~9のテンキーが表示される。
  • 2つの数字は必ずしも、一般的である基数が10(別名:十進数)の数であるとは限らない。その数字の基数がいくつかを特定する必要がある。2つの数字の基数は異なる可能性がある。 必要に応じて十進数に変換してもよい。
  • 通常通りの計算をして答えを求めたら、数字を入力して送信する。ただし、送信前に別の基数に変換する必要がある可能性がある。 間違った答えを入力したり、間違った基数で答えを送信すると、ミスが記録される。
  • 以下のステップに基づいて3つの基数を特定する。いずれかの基数が10の場合、10を使用する。そうでなければ、求めた数字を7で割った余りに2を加えた数を使用する。
  • 注意: 常に得られた答えの絶対値を送信し、答えの前に0を付けないようにする。それは不正解とみなされる。

基数の計算

1つ目の数字:点灯したインジケーターの数 +
シリアルナンバーの最後の数字 +
3 (DVI-Dポートが存在する場合)
2つ目の数字:点灯していないインジケーターの数 +
シリアルナンバーの最初の数字 +
6 (シリアルポートが存在する場合)
答え:ポートプレートの数 +
2 (INDインジケーターが存在する場合)

基数とは厄介な存在である。通常、基数とは繰り上がりの前ににどのくらいの数字が入るかというシステムのことを指す。例えば、我々が日常的に使っている数字は十進数(基数が10)である。 2桁の数字に切り替わる前に「 0, 1, 2, 3, 4, 5, 6, 7, 8, 9」の十個の数字があるからだ。 二進数は基数が2である。このシステムは0と1の二つの数字を持つ。基数が7の場合は「0, 1, 2, 3, 4, 5, 6」の七つの数字を持つ。以下の表は、9つの基数について、このモジュール上で27がどのように表現されるかを表している。

基数27の表現
211011
31000
4123
5102
643
736
833
930
1027

基数同士の変換は難しいだろう。このセクションでは、基数同士の変換方法をいくつかの例に沿って示す。

例1:

235(基数が8)を基数が10の数字に変換する

数字の各桁の上に、その桁が表す基数のべき乗を記載する。下の例を参照してほしい。 あとは、掛け算と足し算をするだけで、基数が10の数字が決定する。この例では、次のようになる。

5 × 80 = 5
3 × 81 = 24
2 × 82 = 128

そして全ての数字を足し合わせる。5 + 24 + 128 = 157なので、235(基数が8)を基数が10の数字に変換すると、157になる。

例2:

1011(基数が2)を基数が10の数字に変換する

先述の方法と同じことを行う:

1 × 20 = 1
1 × 21 = 2
0 × 22 = 0
1 × 23 = 8

そして、再び全ての数字を足し合わせる。1 + 2 + 0 + 8 = 11なので、1011(基数が2)を基数が10の数字に変換すると、11になる。

例3:

5(基数が10)を基数が2の数字に変換する

これはやや難しい。一連の乗算の代わりに、一連の除算が必要である。以下はその手順である。

  1. 変換したい数値を「変換先の」基数(この場合は2)で割る。
  2. 小学校でやったように、商(答え)に余りを求め、右に書く。
  3. 前の商の整数(余りの前に書いてある数)を使って、この除算を繰り返す。
  4. 前の商の整数が0だけになるまで、この除算を繰り返し続ける。
  5. 答えは、下から順番に読む余りとなる。

以下に例を記す。

5(基数が10)を基数が2の数字に変換すると、157になる。

例4:

140(基数が10)を基数が8の数字に変換する

上記の方法と同様に行う。

140(基数が10)は、214(基数が8)になる。

基数の変換については、ここに記載されている。