2017年6月9日金曜日

n進数の話(続き)

今度は違う人から質問が来ました。
その人は「16進数」が知りたいらしいです。

「いやいや2進数と同じでしょ!」と思うのですが、わからない気持ちも理解でします。

前回のBLOGにも書いたように
10進数は「じゅう」って言ったら負け。
2進数は「に」って言ったら負け。
同じように考えれば16進数は「じゅうろく」って言ったら負けなだけなのです。

その人曰く
 人間界には0~9の10個の数字しか存在しない。
 2進数の場合0と1を使えば良い。
 8進数の場合0~7を使えば良い。
 ところが16進数の場合0~9では表現できない!
 0~15だと、既に2桁になってるし!
 ってかAとかBとか英文字でてきて意味わかんないし!
との事。

Aは一文字、つまり一桁ですよね。
B、C、D、E、Fも一桁ですよね。
16進数の場合0~F迄で16個の数字を表現します。
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
16個あるでしょ?

Fの次は?
Gではありません。
16個目の次は桁上がりです。
つまり10です。

下記、左が10進数で右が16進数の数字です。
0=0  1=1  2=2  3=3  4=4  5=5
6=6  7=7  8=8  9=9 10=A 11=B
12=C 13=D 14=E 15=F 16=10
16の所で桁上がりして10になりました。
念の為、もう少し途中経過を書きますね。
43=2B
94=5E
ですね。

こんなのどうやって計算するの!?

落ち着いて下さい、簡単です。

まず16進数を10進数に直す方法を書きます。
例として16進数の5Eを10進数にしてみましょう。
まず上の桁が5ですね、つまり16が5個集まっているのですよ。
まず16進数の50を10進数に直すと「16×5」で80です。
あとは下の桁のEですが…これは数えるしかないですね。
9、A、B、C、D、E = 9、10、11、12、13、14
16進数のEは10進数の14ですね。
さっきの80(50の10進数)と、今の14(Eの10進数)を足すと94です。
なので16進数の5Eを10進数に直すと94という事です。

A~Fを英文字として認識するのではなく、9以上の一桁の「数字」として認識すれば良いのですよ。
応用すると「20進数の場合は0~J迄を使えば良い」感じですね。

わかりましたか?
これで10進数以上も対応できますね!

2017年4月21日金曜日

n進数の話

友人から「2進数」について質問されました。
そこで私が「2進数」を説明するために考えた事をココに書いておきます。
学術的に正しい説明かどうかは知りません。
ただ友人に理解してもらえるように書いたつもりです。

まず「2進数」とは何か?
 10進数って1桁が0~9までの10個の数字があるよね。
 10個の数字があるから10進数って言うのだと思うん。
 同じ考え方をすると2進数は1桁が0と1しかありません。
 2個の数字しかないから2進数って言うのだと思うん。

ゲームをしよう!
 10進数ゲーム!
  ルール:「じゅう」って言ったら負けね
   0(ぜろ)
   1(いち)
   2(に)
   3(さん)
   4(よん)
   5(ご)
   6(ろく)
   7(なな)
   8(はち)
   9(きゅう)
  その次は?「じゅう」って言ったら負けだよ?
   なので10の事は「いち、ぜろ」って言えばいい。
   「いち」と「ぜろ」の2つを言ったよね?
   つまり、それが2桁なんだ。
 では同じように2進数ゲームをやってみよう!
  ルール:「に」って言ったら負けね
   0(ぜろ)
   1(いち)
  その次は「2」を何て言えば良いの?
  そもそも違うよね?2は使わないんだから。
  10進数の場合、10は2桁ですよね。
  2進数の場合、2は2桁なんですよ。
  なので0、1の次は10なんです。
  10進数で「じゅう」って呼ばれる一桁は存在しません。
  2進数でも「に」って呼ばれる一桁は存在しないんですよ。
  では話を戻して
   0(ぜろ)、1(いち)の次は10「いち、ぜろ」ですね。
  せっかくなので、もっと先まで数えてみましょう。
  0(ぜろ)、1(いち)、
  10(いち、ぜろ)、11(いち、いち)、
  100(いち、ぜろ、ぜろ)、
  え?もぉ100なの?
  そうですよ、10の次は11、これはわかるでしょ?
  11の次は12、、、いや2は使っちゃダメだって。
  んじゃ繰り上がりして21、、、いや2入ってるし(笑)
  そしたら桁上がりするしかなでしょ、と言う事で100。
  すぐ桁上がりしちゃうので、もう少し数えてみよう!
   0、1、
   10、11、
   100、101、
   110、111、
   1000、1001、
   1010、1011、
   1100、1101、
   1110、1111、
   10000、、、、、
  わかった?これが2進数ね。

指折り数える事も可能だよ!
手の指、両手で10本あるよね?(ない人ごめんなさい)
 まず10進数。数が増えるごとに指を折ってみよう。
 両手を開き、手のひらを自分に向けてください。
  0は両手を開いてます。
  1は右手の親指を折りましょう。
  2は右手の親指と人差し指を折りましょう。
  3は右手の親指と人差し指と中指を折りましょう。
  4は右の親、人指し、中、薬
  5は右の親、人指し、中、薬、小
  6は右の親、人指し、中、薬、小、左手の小
  7は右の親、人指し、中、薬、小、左の小、薬
  8は右の親、人指し、中、薬、小、左の小、薬、中
  9は右の親、人指し、中、薬、小、左の小、薬、中、人
  10は両手の指、全部折るよね。
 次は2進数、とりあえず片手だけで十分かも。
 右利きだと思うので、右手を例に書きます。
 まず右手を開き、手のひらを自分に向けてください。
 指を伸ばしている状態を0、指を曲げている状態を1とします。
  右手の指5本伸ばしている状態は「00000」ですよね?
  つまり0は「00000」です。
  1は「00001」です、つまり親指だけ折り曲げですね。
  2は「00010」です、つまり人差し指だけ折り曲げです。
  3は「00011」です、親と人を折り曲げです。
  4は「00100」です、中だけ折り曲げです。
  5は「00101」です、親と中です。
  6は「00110」です、人と中です。
  7は「00111」です、親と人と中です。
  8は「01000」です、薬です。
  9は「01001」です、親と薬です。
  10は「01010」です、人と薬です。
  11は「01011」です、親と人と薬です。
   :
   :
  31は「11111」です、親人中薬小の全指を折ります。
 つまり2進数の場合、片手で0~31まで数えられるんですよ!

とりあえず、こんな感じ。
難しいですか?
後日もう少しわかりやすいように絵か写真を入れるかも。

P.S.上記の事を応用すれば何進数でも対応可能だよね!

2017年2月23日木曜日

VECTREXのおはなし

「みんなのラボ」には関係ない、WAKAの個人的な話です。
#自分用のメモ&今後同じ事に遭遇する人の為の記録です

WAKAは「VECTREX」ってゲーム機を持っています。
1982年くらいに出たらしいベクトルスキャンモニタ付きのゲーム機ですね。
#いわゆる「高速船」ってやつです
VECTREXには1つのゲームが入っています。
しかし1つだけなので飽きてしまって最近は全く遊んでいませんでした。





















そう言えばVECTREXにはカートリッジらしきものを差し込む穴がありますね。
「何かカートリッジが出てて別のゲームができるのかな?」と思い、ちょっと調べてみました。









なんと、沢山のゲームが売られていたではありませんか!
ん?ゲーム以外にも変なものが出てるぞ??
BASICインタプリタのカートリッジ?

はい、買いました。











どんな物か?詳細は下記ページを見てください。

最初はカートリッジを差しても何の変化も無く元々入っているゲームが立ち上がるばかり。
「もしかして壊れてる?」とも思いました。
しかし何度も何度も抜き差しして、電源の入れ直しをしていたら、、、動きました!
長年カートリッジを差していなかったのでコネクタ部分が汚れていたのかもですね。

英語読みたくない病なので、全く使い方が解りません!
日本語で検索したらツイッターにちょっと載ってました。
うーん、この人とは違う挙動だなー、、、。

現時点での挙動を以下に書きます。
1.Vectrex32カートリッジをロゴ面を上に差し込む。
2.Vectrexの電源を入れる。
3.Vectrex本体のロゴが出る。
4A.ほとんどの場合、内臓ゲームが立ち上がる。
4B.たまに「Vectrex32 1.14 @GCE 2016」が表示される。
5B.そのまま固まるか、「WAITING」って出て固まる。
運良くカートリッジ起動できても即固まって何もできない!

Vectrex本体を持っている友人がいるので、カートリッジの起動確認をしてもらおう、、、。
もし起動したら本体(たぶんコネクタ部分)がヘタってるんだろうなー、、、。

P.S.
Vectrex32にUSBケーブルを差してもWindowsからは何も認識されない。
Vectrex32にUSBケーブルを差し、Vectrex32をVectrexに差し
Vectrex本体の電源を入れるとWindowsから見える!
「CDC + MSD Demo」ってのが見える、現状ドライバとか何入れるか不明。

今日はココまで!

Vectrexや高速船、Vectrex32をお持ちの方、お友達になってくださーい!