2016/12/02 コワーキングスペース coedoにて
講師 うえだうえおうぇあ 上田氏
はじめに
エンジニアでもさんすうの基本をわからずにやっていることが多い。
改めて、基本の基本に立ち返ってみようというスタンスの勉強会です。
漢数字・ローマ数字・アラビア数字の違い
アラビア数字がすごい
桁が増えるたびに種類が増えない
数字の順番が確定しているから、n進数にも対応しやすい。
↓
アラビア数字自体よりも、位取り記数法がすごい。
あたりまえじゃんではなく、これはどういうことかを考える
位取りとはなんぞや
1000 = 10 x 10 x 10 = 10^3
100 = 10 x 10 = 10^2
10 = 10 = 10^1
1 = 10・・・? = 10^0
0乗を1とすると数式などが立てやすいので、定義された
1234(10) = 10^3 x 1 + 10^2 x 2 + 10^1 x 3 + 10^0 x 4
111001 = 2^5 x 1 + 2^4 x 1 + 2^3 x 1 + 2^2 x 0 + 2^1 x 0 + 2^0 x 1
分配法則の証明は次回!
n進数の変換
10進数から2進数の変換を割り算のあまりで計算する方法、やり方だけで満足していない?
やっていることは分配法則で各項に割り算を分配している
1234(10) = 10^3 x 1 + 10^2 x 2 + 10^1 x 3 + 10^0 x 4
1234 / 10 = 10^2 x 1 + 10^1 x 2 + 10^0 x 3 あまり 4
123 / 10 = 10^1 x 1 + 10^0 x 2 あまり 3
12 / 10 = 10^0 x 1 あまり 2
1 ・・・最後にのこる
ひたすら割ってあまりを並べると外見上その数が並んでいくね!
同じ考え方で2進数にすることができますね。という説明ができる。
<10進数→2進数変換の割り算の絵がはいりつつ>
57(10) = 111001(2)
単位のお話
bitとbyte
bit 2進数の1桁分
→ 64bit CPU 1度の計算で2進数64桁が扱える
byte 2進数の8桁分
2^8 - 1 = 255までの整数が表現可能
コンピュータでの計算
コンピュータで2で割るとは
1101(2) / 2 = 0110(2)
0110(2) / 2 = 0011(2)
0011(2) / 2 = 0001(2)
右シフト あまりは消える
あまりを退避する処理が入ると一気に重たくなる
2倍は左シフト
図形
円の定義
中心から等距離の点の集合
半径は常に同じ長さ
円周上を点が移動すると、角度が生まれる
→ 三角関数へ
ピタゴラスの定理
a^2 + b^2 = c^2
1 = sin^2θ + cos^2θ
<b=5,10,15とした図>
図形記述は、ベクトル座標で表現できる。
三角関数の組み合わせで空間座標も表現できる。。。はず!
伝えたいこと
記述する上で、自分だけの言葉ではダメ
数え方というのはものの基本
位取り記数法の原理を理解して話さないと共通の言葉になりません。
次回予告
かけ算
りんごが2個乗ったお皿が3皿あります。
りんごは全部で何個ありますか?
雑感
先日初学者にn進数について教える機会があったとき似たような説明をしたことを思いだした。
初学者に教えるときに持つべき観点を確認するとともに、自分自身が基礎をとばしている箇所もあるということに気づけてよかった。
次回も都合がつけば参加していく。