やうたんのループ<めざせ合格ITパスポート!> -10ページ目

やうたんのループ<めざせ合格ITパスポート!>

めざせ合格ITパスポート!情報処理技術者試験ブログ!
やさしく学ぼう!やうたんと一緒に!情報処理の世界へようこそ!

今回は除算と減算のお話です。実はコンピュータでは除算も減算も「加算」として
処理することができます。


それ、前聞きましたね。聞きましたね。聞いた聞いた。

マジレッサーですね、かなたん。


この「加算で行える」というのはコンピュータが2進数で計算を行うときのメリット
の一つといえます。

今回は2回連続になりますが、わかりやすくお話ししていきます。



たとえば、1101(13)から100(4)を引くことにしましょう。
結果は9だ・・・って10進数で計算すると見えちゃうんですけども。
このときに補数という考え方を使います。


補数?


ほすう?


たとえば、10進数に話を戻しますが数字の「3」が桁上がりをするのに
必要な数は?


7ですよね。


3+7は10。この桁上がりに必要な数のことを補数といいます。
よって、3に対する補数は7となります。



2進数の世界ではこのタイプのものを「1の補数」といいます。
これに1を足したものを「2の補数」っていいます。


これを使っていきます。なぜか・・・は説明すると長くなりますので、
そんなもんか・・・でお願いします。


いっつもそんなもんですよ。

まあ、数学の時間じゃないですからね。

(つづきます)

2進数の攻略と言うことで、やってきたんですが実は。
2進数の足し算について説明をすっぱり抜いていたので


不親切すぎると言うことで。

私たちからも抗議殺到と言うことで・・・。

やらせていただきたいと思います。



まずは基本からです。

0+0  = 0
1+0  = 1
0+1  = 1
1+1  =10
1+1+1=11


となります。これを覚えておくと足し算は大丈夫です。
試しにやってみましょう。



じゃあ、13+9

13は2進数で(3の4倍に1足すから)1101ですね。
9は2進数で(8の1足しだから)1001です。


1101
1001


右端に桁を揃えてあげて。
基本法則通り計算すると。


10110

これを分解しますね。
10000(16)と100(4)と10(2)で「22」
になりましたよ。


これならいいんですが、たとえば桁のあわない計算の場合。

101+10

こんな計算は


101
010


できれば、右端に桁を揃えて空いている場所は0を埋める癖をつけていただける
あとで捗ります。


あとで?

あとなの?

そうなんです、次回は補数を使った計算についてお話をしていきます。

(つづきます)

こないだ、過去問をやってたらですね。7進数の問題が出て来ました。

おっとおお!2,8,16はわかりましたけど、7進数はわかんないぞ!

そうなんです、それでどこを調べてもわかんないんですよ!教えてやまちゃん!


・・・やまちゃん・・・山崎先生ですけどね。落ち着いてください。
NHK杯じゃないんだから、持ち時間はたくさんありますよ・・・。



たとえば、7進数はそれぞれの桁が7になったら繰り上がる数なので、
123・・・7のつぎが10ですし、次に繰り上がるのは77のあと100とな
ります。


要するに、進数とは何か!がわかっていれば何進数の問題がでようと
も大丈夫なんです(ドヤァ



そんなこと言われたって!たとえば10進数の22は7進数でいくつですか!


22を7で割ります。
3あまり1なので、31ですね。


じゃあ、31を10進数に戻すには?

1の位を1、10の位を7で掛けます。
で、足していきます。
1+21=22 っと。


120を10進数に戻す場合は?


1の位を1,10の位を7,100の位は49で掛けます。
で、足していきます。
0+14+49=63ですね。


おおおお・・・


ぬうううう・・・


結局やることは、2進数と一緒なんです。2進数の勉強、しっかり身につける
と怖いものなんてありません!


・・・そのうち頑張ります。

・・・わたしも、苦手なんで・・・。

何いってんですか!いつやるんですか!やるなら・・・

今でしょう!

言わせてくださいよう・・・(涙

(つづきます)

すすす、数字が多くて辛いシリーズれスう。

・・・もう2回くらいでやめますんで・・・。

にかい、にかいも0と1をみなきゃなんないふにゃー。

・・・読者のみなさまにも申し訳ない感じがするんですが。2進数がわかれば
基数変換はOKです。




あ!小数点以下なんですが・・・出題頻度も低いので、とりあえずやめておき
ますね。

そうしてくれると。たすかりますですはい。


今日は8進数と16進数の求め方です。2つとも、10進数を一旦2進数に変換
してから
やってみましょう。



16進数では10がA、11がBと書き方が変わりますので注意です。

では、「23」を8進数に変換しましょう。
まず2進数に変換します。


おさらい、いきますよー。


23は5の4倍に3を足すので
101に00をつけて
11を足すと
10111


2進数は10111ですっ!



これを8進数の場合は3桁で区切ります。

010 111
それぞれを10進数に戻します。
「27」


で、16進数は4桁で区切ります。
10111を
0001 0111に区切ります。
1 と 7
ですね。
「17」


・・・意外と簡単でしたね。

8進数は3桁で、16進数は4桁で!区切るんですな!


(つづきますよ)


じゃあ、
10進数をこのやりかたで2進数にする練習をしましょう。
「51」「109」にしましょう。

ついでに、作者がどんな考え方をしているか。お教えします。


最後は109・・・まるきゅー・・・と。


別に深い意味は無いですよ・・・

みなさまも、鉛筆とメモのご用意を・・・

ちょっとわかりにくいシリーズなので、手を動かしてみてください。



「51」
分解しましょう。32+19・・・・
センセ、19も分解していい?16+3
32は100000
16は 10000
 3は    11


よって110011でええっす!


☆作者はこう考えてるよ
51は25の2倍に1を足した数。
もっというと、12の4倍に3を足した数なので。
12は1100
4倍するとゼロが2つ。110000
3を足すと110011




「109」
64+45ちょっと大きすぎますか。
では、64+32+13
もっと細かく64+32+8+5
64は1000000
32は 100000
8は    1000
5は     101

よって、1101101どえすどえすー。

☆作者はこう考えてるよ
109は13の8倍に5を足した数。
13は1101
8倍だから0を3つつけて、1101000
これに5 すなわち101を足すので
1101101



しっかし、作者は変態ですね。


ド変態でしょう。・・・っていうか、仕事に使っていればそうなりますって。

(つづきます)