パ:1人間=1ビットの続き。
■ローテーション
Nビットローテーション(左=前?)ならN人が連なって走りエッホエッホと列の後ろにつけばよい。そのとき、右手の上げ下げはキープしたまま。
■シフト
ローテーションとほとんど同じだが、手を下ろすのを加える。
■足し算1
インクリメントとデクリメントを合わせると足し算ができる。
プログラムで表すと
Uint8 a=17;
Uint8 b=8;
for(;;){
if(b==0){
break;
}
a++;b--;
}
人間コンピ用の手続きとしは A列 B列に各値をセットする。
定数のセットは
Uint8 a=17;
各メンバーの手の上げ下げををあらかじめ、カキワリに書いておいて その隣に移動してA列の人にまねしてもらえばよい。
forループの部分は
A列B列に値をセットしたら並んでもらったらB列の後ろの人のお尻をたたくのと同時にA列の後ろの人の頭をたたく。それをB列の人の手が全部下がるまでくり返す。
※これで、足し算はできた。が、B列の値の分だけループをくりかえさなきゃいけないところが大変。手が腫れる???
次回は、一気に計算することを考えて足し算のやりかた その2を提示。