リンク

2015年3月4日水曜日

勉強のあれこれ4

今回も問題を解いていきたいと思います!!!!

問1

0000~4999のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が55550のときのアドレスはどれか。ここで、基数変換法では、キー値を11進数と見なし、10進数に変換した後、下4けたに対して0.5を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする

ア 0260 イ2525 ウ 2775 エ 4405











答え ア

解説

55550を11進数と見なし、10進数に変換する。

5×11⁴+5×11³+5×11²+5×11¹+0×11⁰
=(((5×11+5)×11+5)×11+5)×11
=(665×11+5)×11 = 80520

その結果の下4ケタに対して0.5を乗じる。

0520 × 0.5 = 260

したがって、アドレスは0260となる。

問2

負の整数を表現する代表的な方法として、次の3種類がある。

a 1の補数による表現
b 2の補数による表現
c 絶対値に符号をつけた表現(左端ビットが0の場合は正、1の場合は負)

4ビットのパターン1101をa~cの方法で表現したものと解釈したとき、値が小さい順になるように三つの方法を並べたものはどれか。

ア a,c,b イ b,a,c ウ b,c,a エ c,b,a





答え エ

解説

1の補数は「0」と「1」を反転したものである。2の補数はそれに1を加えたものである。
 1の補数による表現の場合、「1101」の1の補数は「0010」で、10進数では「2」である。したがって、「1101」はー2となる。
 2の補数による表現の場合、「1101」の2の補数は「0011」で、10進数では「3」である。したがって、「1101」はー3となる。
 絶対値による表現の場合、「1101」は先頭ビットが1だから、10進数では「-5」となる。
 以上より、10進数で小さい順に並べるとc,b,aとなる。

問3

浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。

ア 演算結果がコンピュータの扱える最大値を超えることによって生じる誤差である。
イ 数表現の桁数に限度があるので、最下位桁より小さい部分について四捨五入や切上げ、切捨てを行うことによって生じる誤差である。
ウ 乗除算において、指数部が小さい方の数値の仮数部の階部分が失られることによって生じる誤差である。
エ 絶対値がほぼ等しい数値の加減算において、上位の有効数値が失われることによって生じる誤差である。






答え イ

解説

コンピュータの数値表現の桁数には制限があるため、最下位けたより小さい部分については、四捨五入や切上げ・切捨てを行うが、この時に発生する誤差を丸め誤差という。

問4

2進数の浮動小数点表示で誤差を含まずに表現できる10進数はどれか

ア 0.2 イ 0.3 ウ 0.4 エ 0.5








答え エ

解説

浮動小数点形式で表示するためには、まず、その10進数を2進数に変換してから、指数部と仮数部を求める。したがって誤差を含まずに表現できるための条件は、2進数に変換して無限小数にならないことである。0.5は2進数では0.1となるので、誤差を含まずに表現できる。
 0.2と0.3と0.4は、2進数に変換すると無限小数となるので、誤差を含んでしまう。

問5

実数aをa=f×r e と表す浮動小数点表示に関する記述として、適切なんのはどれか

ア fを仮数, eを指数, rを基数という
イ fを基数, eを仮数, rを指数という
ウ  fを基数, eを指数, rを仮数という
エ fを指数, eを基数, rを仮数という













答え ア

解説

浮動小数点表示では、実数を基数変換した後、符号・指数・仮数の順に記憶する。仮数とは、2進数表示の場合、実数の小数点の位置を移動して、先頭の1が整数一桁目から始まるか、または小数点以下一桁目から始まるように調整して表示される形式である。このような調整を正規化という。また、指数は小数点を移動したことによって掛けられる基数のべき数のことである。
 例えば、IEEE754形式の場合は次のように表示される。

0.000101 = 1.010000×2⁻⁴
101000.0 = 1.010000×2⁵

したがって、f×r e と表すと、 fは仮数、 eは指数、 rは基数となる。









2015年3月3日火曜日

勉強のあれこれ3

今回は、練習問題を少し取り上げていきたいと思いますぜ!!

問1

数値を2進数で格納数rレジスタがある、このレジスタに正の整数xを設定した後、''レジスタの値を2ビット左にシフトして、これにxを加える''操作を行うと、レジスタの値はxの何倍になるか、ここで、あふれは発生しないものとする。

ア 3 イ 4 ウ 5 エ 6














答え ウ

解説

左に2ビットシフトすることで4倍となる。そこに元の値を加算しているので、

x × 4 + x = 5x となり、 5倍となる。

問2

16進小数0.C を10進小数に変換したものはどれか

ア 0.12 イ 0.55 ウ 0.75 エ 0.84

















答え ウ

解説

16進小数「0.C」の小数第一位の重みは16⁻¹である。ここで、「C」は10進数で12であるから12/16となる。小数にすると0.75になる。

問3

10進数の演算式7÷32の結果を2進数で表したものはどれか

ア 0.001011 イ 0.001101 ウ 0.00111 エ 0.0111

















答え ウ

解説

7÷32は0.21875である。これを2倍する方法で計算する。小数点以下の値を2倍して、1の桁の数字を読む。
0.2875 × 2 = 0.4375 0
0.4375 × 2 = 0.875  0
0.875  × 2 = 1.75   1
0.75   × 2 = 1.5    1
0.5    × 2 = 1.0    1
 0と1の列から、 10進数の0.21875は2進数の0.00111となる。

問4

2進数の1.1011と1.1101を加算した結果を10進数で表したものはどれか。

ア 3.1 イ 3.375 ウ 3.5 エ 3.8














答え ウ

解説

2進数を加算すると、 1.1011 + 1.1101 = 11.1となる。これを、10進表記に変換する。
1 × 2¹ + 1 × 2⁰ + 1 × 2⁻¹ = 3.5

問5

次の式は、何進法で成立するか、 1015 ÷ 5 = 131 (余り0)

ア 6 イ 7 ウ 8 エ 9












答え イ

解説

余りが0の割り算なので掛け算、131×5 = 1015で考える。
最下位の桁の計算は1×5=5なので、6進以上であれば成り立つ。また、桁上がりはない。
次の桁の計算は、3×5=(15)₁₀をn進数に変換したときに下の桁が1になるものである。

(15)₁₀ = (23)₆ = (21)₇ = (17)₈ = (16)₉

したがって、選択肢 イ の 7進法が正解となる。




2015年3月2日月曜日

勉強のあれこれ 2


さて、今日も勉強した?あれこれを書いていく予定です~

1-5 誤差

誤差

コンピュータ内部では、数値を指定されたビット数で表現しているために、真の値とコンピュータ内部で表現する値との間に差が発生する。この差のことを誤差という。

けたあふれ誤差

コンピュータ内部では、数値を指定されたビット数で表現しているために、表現できる数値の周囲は決まっている。
桁あふれ誤差は、演算結果がコンピュータの表現できる範囲を超えることによって発生する誤差。
特に、表現できる範囲の最大数を超えることを オーバーフロー 最小値を超えることを アンダフロー という。

丸め誤差

指定された有効桁数で演算結果を表すために、切り捨て、切り上げ、四捨五入などを行うために発生する誤差

けた落ち

絶対値のほぼ等しい二つの数の絶対値の差を求めたとき、有効桁数が減るために発生する誤差。

情報落ち

絶対値の非常に大きな数と小さな数の足し算や引き算を行ったとき、小さい数が演算結果に反映されないために発生する誤差。

打切り誤差

浮動小数点数の計算処理の打ち切りを、指定した規則で行うことによって発生する誤差。
 たとえば、円周率の3.14159... を計算処理を打ち切って、3.14とすることによって発生する。

1-6 シフト演算

シフト演算

まずは10進数123で考えてみる。
一つ左にけたをずらすと、元の数値に10をかけた1230になる。二つけたをずらすと、100をかけた12300になる。逆に、一つ右にけたをずらすと元の数を10で割った12.3に、二つ右にけたをずらすと100で割った1.23になる。10進数では左右にけたをずらすだけで、10をかけたり10で割ったりすることができる。
 同じように、2進数では左右にけたをずらすだけで、元の数値に2をかけたり2で割ったりすることができる。左右にけたをずらすことで、簡単に乗算や除算を行うことができ、この操作を シフト演算 という。

論理シフト

符号を考慮しない。論理シフトでは、左シフト・右シフトともあふれたビットは捨てられ、空いたビットには0が入る。

算術シフト

符号を考慮する。左シフトと右シフトとは、空いたビットの取り扱い方が異なる。

算術左シフト

符号ビットはそのままの位置にとどまる。あふれたビットは捨てられ、空いたビットには0が入る。

算術右シフト

符号ビットはそのまま、あふれたビットは捨てられ、空いたビットには符号と同じビットが入る。

シフト演算と加算の組み合わせ

シフト演算を使うと、2n売屋1/2nバイは簡単にできることが分かった。それでは、たとえば2進数mの9倍の値を求めるにはどうすればよいか。
こういう場合は、9を2のべき乗に分解する。

m x 9 = m x (2³ + 1)
    = m x 2³ + m
このように変形することができる。
したがって、mを3ビット左にけた移動したものにmを加えると、9倍の値を求めることができる。

1-7 オートマトン

オートマトン

入力と現在の状態によって、出力が決定される機会をモデル化したもの。オートマトンのうち、初期状態からいくつかの状態を遷移し、採取的に受理状態(終了状態)になるものを有限オートマトンという。

1-8 文字コード

文字コード

コンピュータ内部は0と1の2進数で表現されている。にもかかわらず、コンピュータが文字を扱うことができるのは、文字の一つ一つに、特定の2進数が割り当てられていて、文字という情報をコード化しているため。

代表的な文字コード

・ASCⅡコード(American Standard Code for Information Interchange)
ANSI(米国標準規格協会)で定めた7ビットの文字コード体系で、8ビット目をパリティビットとしている。英字、数字、特殊文字および制御文字からなり、漢字に関する規定がない。
・EBCDIC(Extended Binary Coded Decimal Interchange Code)
IBM社が開発した8ビットからなる文字コード体系で、凡庸コンピュータを中心に普及している。
・JISコード
JISで定めた文字コード体系。7ビットの「ローマ字用7単位符号」や8ビットに拡張した「ローマ字・片仮名名用8単位符号」、ひらがなと漢字を追加した「JIS漢字コード」がある。ひらがなや漢字を表現するには1ビットでは足りないため、1文字を2バイトで表現する。
・シフトJISコード
JIS漢字コードを返還したもので、1バイト目で漢字かどうかがわかり、英数字・カナなどの1パイト文字と混在させても判別できる文字コード体系。
・EUC(Extended Unix Code)
拡張UNIXコードとも呼ばれ、全角文字と半角カタカナ文字を2バイトまたは3ばいとで表現する文字コード体系。UNIXにおける多言語対応の一環として制定され、UNIX上で漢字が扱える。
・UNIXODE
世界各国の文字の多くを一つの体系で表現し、データ交換が円滑にできるように制定された文字コード体系。

1-9 論理演算と論理回路

論理演算と論理回路

ここまで説明してきたように、コンピュータ内部では、電気信号の「ON」と「OFF」を1(真)と0(嘘)に対応させ、情報を処理している。1と0という二つの値を扱う演算が 論理演算 で、論理和(OR)や論理積(AND)、否定(NOT)がその基本。論理演算を実際に行う電子回路が論理回路。CPUには、論理演算を行うための論理回路が組み込まれている。
論理回路はMIL記号で図式化したり、入力の状態とそのときの出ry区の状態を表にまとめた 真理値表で表したりする。



2015年2月26日木曜日

勉強中のあれこれ 1

勉強のメモてきなあれ1

今回からなのですが、今勉強中の基礎中の基礎の基礎情報技術者の資格の勉強のメモを書いていきたいと思います。

1-1 情報量の単位

・情報量の単位

コンピュータ内部では、情報は電気信号の「on」to「off」のように2値で扱われているので、これを一般的に、2進数の「1」「0」に対応させて表現する。

ビット(bit):コンピュータで扱う最少の情報量の単位 2進数1けたに相当する。
バイト(Byte):ビット8個を集めたもの 2進数8けたに相当する。

・情報量を表す接頭語

コンピュータが扱う情報量は莫大なものになっている。
そこで、B(バイト)の前に10の整数乗倍を表す接頭語,k(キロ)、M(メガ)、G(ギガ)、T(テラ)が使われる。

K(10³)→M(10⁶)→G(10⁹)→T(10¹²)

・ビット数と表現できる情報量の関係

1ビットで表現できる情報量は「0」「1」の2(=2¹)通り、2ビットでは「00」「01」「10」「11」の4(=2²)通り、3ビットでは「000」「001」「010」「011」「100」「101」「110」「111」の8(=2³)通り。
一般的に、nビットでは2n通りの情報を表現することができる。

・時間を表す接頭語

コンピュータの処理速度が非常に早くなっています。
そこで、s(秒)の前に10の整数乗倍を表す接頭語、m(ミリ)、μ(マイクロ)、n(ナノ)、p(ピコ)が使われる。
m(10⁻³)→μ(10⁻⁶)→n(10⁻⁹)→p(10⁻¹²)

1-2 基数変換

・10進数と2進数・8進数・16進数

10進数:0~9までの10種類の数字を使って、9の次が一つ桁上がりする。

他の進数も同じイメージ

2進数:0と1の2種類の数字を使って、1の次が一つ桁上がりする。コンピュータ内部では2進数が使われていますが、2進数は桁数が非常に長くなるため、人間が考えるときには、2進数と簡単に変換できる、8進数や16進数がよくつかわれる。

8進数:0から7までの8種類の数字を使って、7の次が一つ桁上がりする。

16進数:0から9までの数字とA,B,C,D,E,Fの英字を使って、Fの次が一つ桁上がりする。

・基数と重み対応表

基数とは、その名のとおり、基本となる数。例えば、10進数123.45は

1x10²+2x10¹+3x10⁰+4x10⁻¹+5x10⁻²
と表すことができる。

1-3 補数表現と固定小数点表示

・補数

コンピュータの内部では、1と0しか使わない。1と0だけで、-(マイナス)記号を使わずに負の数を表現する方法として、「補数」が使われる。

補数:その名のとおり、「補う数」。「ある数」を「決められた数」にするために、「補う数」ということ。

補数を理解するために、まずは10進数で考えてみる。
10進数には、「9の補数」と「10の補数」の二つの補数がある。例えば、10進数3けたにおいて、123の「9の補数」は876「10の補数」は877になる

1-4 浮動小数点表示

・浮動小数点表示

コンピュータ内部における数字の表示形式として、固定小数点表示と浮動小数点表示かある。
浮動小数点:指数を使うことによって、大きな数や小さな数を少ないビット数で表現できる特徴があり、科学技術計算などに使われている。

浮動小数点表示では、実数YをY=M x BEとして、MとEをペアにして表現する。ここで、Mを仮数部、Eを指数部という。Bは基数として暗黙的に定められてる。

Y=M x BE

一つの数値を表現する仮数部(M)と指数部(E)の組み合わせは数多くあるが、仮数部と指数部を調整して一意に決めることを正規化という。







2015年2月18日水曜日

2/18 日記

今日は、日記を書くかな~という気分になったので書きたいと思いますw


まあ、書こうかなというようなことといっても最近ここ2月にあったことですね

久しぶりにあった中学のときの友達と千葉で映画を見てきました!!

話す機会が小中となくて残念に思っていたのですが、フェイスブックで奇跡ともいえる

偶然で映画を見に行くことになってゲームセンターとかショッピングとか行きましたね

意外な一面が見つかったり、こんなに一緒にいて楽しいと感じるんだなといったものが

あり 遊べてとてもよかったなと感じましたね

あとは、そうですね youtubeに上がっている動画がなぜか再生数がまあまあな上がり方をしていて

うれしいな~ト感じましたねw

これといって何かを変えたというものではなかったので、どうしてなんだろうという感じなのですよね

ああ、書いていて思い出しましたが主力のPCが壊れてかれこれ2か月たってしまったのですが

やっと修理に出すことができたので、帰ってきたらやっとゲームができるようになります(直らない方が勉強ができていいような気もしたけどw)

PCが直れば何をしようかなと考えてましたがPS3のゲームでも買って動画をyoutubeに上げるか

それともニコニコ生放送の復活をしようかな~どうしようかな~ってなってます。