奇跡も魔法もあるんだよ

おはようこんにちはこんばんは。今日も元気にニコニコしてますか?
通り名はウィザード、まめつぶです。
なんかね、『魔法使い』って言われることが多々あるんですよ。

思い返せば、小学生時代・・・
ファミコンを持っていない自分は、友人達がこぞってドラクエをやっているので
暇でした。

ところが、ちょうど新規に始める友人宅に遊びに行った日に、その場にいた友人達の名前をつけようということになりました。

勇者は当然持ち主として、戦士とか武闘家などなど職業というものがあります。

皆が自分の職業について、アレがいい、コレがいいと、わいわいしている中、自分も迷っていると

「おまえは魔法使いな。」

と、職業選択の自由なき言ノ葉が、異口同音に唱えられました。

「なんで?」

「それっぽいから」

・・・・時が経つこと十数年

新社会人になったときに、ヒューマンスキル研修を受講した際にインストラクターの方からお題がでました。

「グループ内で、それぞれの人物イメージをひとことで表してみましょう!」

同僚たちから出た意見は言うまでもなく一致しました。

「魔法使い。」

・・・なぜ?

えー、なんでこんな話なのかと言いますと、本日の新人研修にて
論理演算子(&、^、|)の説明をしたんですね。
1&3 = 1
1^3 = 2
1|3 = 3

その中の排他的論理和(xor)がうまく伝えられなかったんです。
1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0

ってやつです。

演算子としての ^ はビットごとの排他的論理和を返す。
数値を2進数で表現、繰り上がりなしでの総和と同じ。
つまり、

1100 ^ 1010 = 0110 (2進数)
12 ^ 10 = 6 (10進数)

なんてレッスンをしていたら宇宙語?魔法?みたいな状態だったので。
ただそれだけです。

排他的論理和といえば、
ビットごとの ^ を用いて,こんなことも。

☆簡易暗号化☆
暗号Keyとする整数値 k を決める。

暗号化する前の整数値を A とするき,A と k とのビットごとの排他的論理和をとり,B = A ^ k を暗号化したデータとする。
B から元のデータ A を復元するには,B と k とのビットごとの排他的論理和をとり, B ^ k とすれば,次のように,A が得られます。

B ^ k = (A ^ k) ^ k = A ^ (k ^ k) = A ^ 0 = A

なんか顔文字みたいですね。

m9(^Д^ )m9(^Д^)9m( ^Д^)9m

ヽ(´ー`)ノ(ノ´ー`)ノ(ノ´ー)ノ

こんな↑感じの。

なんのオチもありません。

思いついたことを垂れ流してみました。

でも、今は宇宙語や魔法に見える構文も不思議と読めるようになるからがんばってください!
わが社の新人たち!

そういえば、説明するのが難しいときは、みんな言うなぁ。

「 こ れ 、『 お ま じ な い 』 だ か ら 。 」