×[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今日ADSLから光通信に切り替わりマスタ。
いや別に体感的にどうってことはないんだが。
大容量通信なんぞ動画共有くらいにしか、、
いやネトゲもあるか。
あ、アレを落とすって事もあるか。
と考えるといろいろメリットがあることはあるのだが、
特に今現在どうということはないですな。
まぁ自分のような僻地に住むものにとってはデータのロスの少ない
光通信のようなものはありがたい限りですな。
メインのPCなんですがOC(オーバークロック)しますた。
少し前に
Core2Duo E4300(1.8Ghz)→Core2Duo E7200(2.53Ghz)
CPU変更に伴ってマザボも
GIGABYTE製のなにか(型名失念w)→ASUStek製P5KCL-Mに乗せ変えました。
これだけでも体感速度相当変わったのですが、
これにさらにBIOSのツールで15%のオーバークロックをしますた。
2.93Ghz動作で安定しております。
Core2DuoのOC耐性には定評があるので無茶なことをしない限りは
トラブルは起こさないのではないかと思います。
次回は安物のグラボを変えたいなと思いますw
それではw
PR
さて月曜日までの連休ですので、がんばって勉強を始めます。
今回は数値の表現方法です。
・数値の表現
・コンピュータの内部では限られたビットで数値や文字などを表現しなくてはいけません。
・それでは限られたビット数での表現の仕方を勉強しましょう。
2進数の場合での表現から見ていきます。
①絶対値表現
最上位のビットで符号を表示する方法です。正の数の場合は、最上位の桁を0。
負の数の場合は最上位桁を1とします。
3という数字を2進数で8ビットで表すと00000011です、
-3は10000011です。赤文字で示したところが符号になっているわけです。
ただし、この表現では0の表現として00000000と10000000と二つ存在することになります。
②補数表現
もっとも良く使われるのはこちらの表現で、
基数から表現しようとする数を引き算したものです。
1の補数を表現するには2進数のすべてのビットを反転させます。
たとえば-3を表現したいとします。すると
3の表現である00000011を反転させて、11111100を-3とします。
8ビットの場合127~-127を表すことが出来ます。
ただし、0の表現に00000000と11111111との二通りが存在することになります。
次は2の補数です。
2の補数は先ほどと同じように2進数のすべてのビットを反転させて1を足します。
-3を表現したい場合は3の表現00000011を反転し11111100にして、
1を足すと、11111101これを-3とします。
2の補数の場合は0の表現は00000000のみとなります。このため、
絶対値表現、1の補数に比較すると表すことの出来る数の範囲が1つ増えます。
8ビットの場合は127~-128を表すことが出来るのです。
小テスト)
問1)8ビット・1の補数表現で表すことの出来る範囲はいくつですか。
127~-127
問2)8ビット・2の補数表現で表すことの出来る範囲はいくつですか。
127~-128
ちょっと集中が続かないので今回は短めですがこれでおしまいですw
次回は浮動少数点数についてまなびます。
・2進数から8進数、16進数への変換
もうこの時点で萎えそうなのはもう書き終えるころに
間違えてすべてを消してしまったからに他なりません、、俺の馬鹿・・
・8進数への変換方法は3ビットずつ区切って変換します。
はい、2度目ですから。
ちなみに変換方法は2進数から10進数にするのと基本は変わりません。
・16進数への変換方法は4ビットずつ区切って変換します。
3ビットとか4ビットとか訳分からなくなりがちですが
それぞれ3桁4桁と読み替えてください。
例題)1101.101を8進数、16進数への変換
まずは8進数から。
3桁ずつだから、
1|101|.101 ですね。
次は変換です。先頭の1から。
2の1乗=1なので1
次の101は
2の1乗=1
2の2乗=2しかし0なので存在しない
2の3乗=4
1+0+4=5なので5
次の.101は変換した結果は先ほどと同じなので5
しかし小数部なので答えは0.5
答えは15.5
次は16進数への変換
4桁で区切るので
1101|.101
1101から先に変換してしまいます。
2の1乗=1
2の2乗=2しかし存在しないので0
2の3乗=4
2の4乗=8
1+0+4+8=13
しかし16乗なので
1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
のいずれかで示されるので
13=16進数ではD
次は.101ですが、4桁区切りであるので.1010と示されます。
それでは変換。
2の1乗=1しかし存在しないので0
2の2乗=2
2の3乗=4しかし存在しないので0
2の4乗=8
0+2+0+8=10
10=16進数ではA
しかし小数部なので.A
16進数の答えはD.Aです。
なんだかアルファベットが入ると数字じゃないみたいだねぇ。
でも間違いなく16進数です。
さて次。
問1)2進数の10011は8進数でいくつか。
10|011
このあたりから計算方法をすこし割愛していきます。
それでは10から
10=2
次は011
011=3
答えは23
問2)16進数のF2は2進数でいくつか。
解き方は一桁ずつ区切って考えていくことが肝です。
まずはFから、10進数で言うとFは15のことです。
16進数は4ビット(桁)ずつ区切って変換したことを思い出してください。
ここからは計算能力のない私独自のワールドです。
16進数のFつまり15にするには2の1乗から2の4乗の間で、
どれを足せば実現できるかで考えます。
0と1のスイッチがあると考えてください。
足す数字は1足さない数字は0として
この場合15は
2の1乗=1 1
2の2乗=2 1
2の3乗=4 1
2の4乗=8 1
1+2+4+8=15とすべて足すと15になるので
1111になる。
次は2
2の1乗=1 0
2の2乗=2 1
2の3乗=4 0
2の4乗=8 0
この場合は2の2乗で事足りるので、
したから並べて0010になる。
これを順番に並べて
答えは11110010
さてこれでn進数への変換はひと段落つきましたが、
これからもしばらく進数や数値の表現の方法を学んでいきます。
眠くなるようなことが続きますががんばっていきましょう。
次回は補数を含めた浮動小数点数について学びたいと思います。
チラッと見た感じだと非常に難しいです。
・「コンピュータの内部は0か1のどちらかで表現されます。」
2進数ですね。これについては分かります。
・「0、1で表せる情報量を1ビットといいます。」
・「2ビットでは、(00,01,10,11)と4種類表せます、つまり2の2乗です。」
う、うむ…w
・「8ビットあると2の8乗つまり256種類を表せます。」
この辺は初級シスアドでもしたな。8ビットは1バイトなんだよな。
この辺は少し割愛します。
・「n進数から10進数への変換。」
ここからが数学的なんだよな、、算数ですでに諦めた俺の計算能力が唸りを上げるぜ。
例題)101を10進数に変換
一桁目が1なので2の1乗=1
二桁目が0なので2の2乗=2しかし0なので存在しません。
三桁目が1なので2の3乗=4
というわけで1+0+4=5
答えは5!
なんだかんだで正解。
・「少数部の変換」
げ。
例題)1011.01
まずは整数部から先ほどの要領で、、
一桁目は=1
二桁目は=2
三桁目は0なのでスルー
四桁目は=8
足し算1+2+0+8=11と。
小数部は左から順に解きます。
.01なので、
2の-1乗、、とは!
解説を読みますw
2分の1のことらしい。つまり、、0.5か?しかし0なので存在しない。
次は2の-2乗=4分の1=0.25か?
多分-のべき乗は(2xn乗)分の1らしい?
てことは答えは0.25か。
整数部と足しこんで11.25!
ふうwさて、次。
・「10進数からn進数への変換」
まぁやっぱこうくるわな。
・「10進数をnで割ったあまりを求める」
う~ん?w
例題)6を2進数に変換
2)6--0
2)3--1
2)1
赤で示したのが割ったあまりです。
この余りをしたから順に並べます。
110
これが6を2進数で表した数字です。次!
・「小数部の変換」
・「小数部をnで掛けて整数部を求める。」
結構言葉で表すとなると分かりにくいですね。というわけで例題
例題)0.25を2進数に変換
0.25x2=0.5
0.5x2=1
赤で示したのが整数部なので
.01
つまり0.01です。
では次は応用!
例題)10進数61.125を2進数に変換
整数部から
2)61
2)30--1
2)15--0
2)7--1
2)3--1
2)1--1
111101
次は小数部
0.125x2=0.25
0.25x2=0.5
0.5x2=1
0.001
答えは111101.001
コツはつかめたかな。
・小テスト
問1)2進数の100は10進数で表すといくつか。
2の1乗=1 しかし存在しない
2の2乗=2 しかし存在しない
2の3乗=4
存在するのは4のみなので答えは4
問2)10進数の8は2進数ではいくつか。
2)8
2)4--0
2)2--0
2)1--0
答えは1000
問3)10進数の0.75は2進数ではいくつか
0.75x2=1.5
1.5x2=3.0
とここまで解いたところであれ?となってしまった。
2進数に直すのだから3なんて数字出てきてはいけないはず。
少しぐぐってみたらすぐに分かった。
どうやら掛けた結果に整数部がでてきたら整数部は切るらしい。
つまり、
0.75x2=1.5 //しかし小数部だけをとりだす。
0.5x2=1.0
答えは0.11というわけだ。
今回は2進数メインで進めたが次は他の進数にも直していきます。
次回は10進数から8進数16進数への変換です。
今から4月に実施される基本情報に向けて勉強していこうというのが趣旨です。
教科書には翔泳社出版の「やさしく学ぶ基本情報07~08年版」、
同出版社の「基本情報技術者2005年度秋季」を主に使っていきます。
なぜこの本かといわれると困ってしまいますが、
C言語の勉強にやさしく学ぶの著者さん高橋麻奈さんの「やさしいC言語」で勉強したからです、
後者のほうは何処かで評判がいいのを耳にしていたから、です。
少し昔のものな理由は単に費用を浮かすために中古本を買ったからです。
ありがとうブックオフ。
そして過去問には技術評論社出版の「基本情報過去問題集」です。
これは最新版を買いました。(2008年11月1日現在)
これは初級シスアドのときも助けられました。
というわけで出来るだけ更新していく様にがんばる、つもりw