基礎知識
指数
a1、a2…anをaのべき乗(累乗)といい、nを指数といいます。
20=1、21=2…、2-1=1/2、2-2=1/4…となる。
anがMとすると、nをaを底とするMの対数といい、Mを真数といいます。
数式:n=logaM (M=an)と表現します。
順列
ある集合からいくつか取り出し、順番をつけて並べることを順列といいます。
数式nPr=n×(n-1)×…×(n-r+1)と表現します。
組合せ
ある集合からいくつかのものを取り出した組を組合せといいます。
数式:nCr=n×(n-1)×…×(n-r+1)/r×(r-1)×…×1と表現します。
期待値
不確実に得られる利得を確率で重み付けしたものを期待値といいます。
数式:E=x1p1+x2p2+…+xnpnと表現します。(x:個々の利得、pを個々の確率)
n
E=Σxipi とΣ(シグマ)を使って表現しますこともできます。
i=1
問題
パスワードに使用できる文字の種類をM、パスワードの文字数をnとするとき、設定できるパスワードの論理的な総数を求める数式はどれか?
ア:Mn イ:M!/(M-n)! ウ:M!/n!(M-n)! エ:(M+n-1)!/n!(M-1)!
問題
表は、ある地方の天気の移り変わりを示したものである。例えば、晴れの翌日の天気は、40%の確率で曇り、20%の確率で雨であることを表している。天気の移り変わりが単純マルコフ過程であると考えたとき、雨の2日後が晴れである確率は何%か?
ア:15 イ:27 ウ:30 エ:33
基数
n個の記号を使って表す数え方をn進数といいます。
表現方法は11(10) (10進数の11)、11(2) (2進数の11)のように添字で表現します。
n進数から10進数へ変換
n進数から10進数に変換するには、「各けたの値をnのべき乗で重み付けをする」という作業が必要になります。
ここでは2進数の「110.01」を10進数に変換します。
整数部:各桁についてn0,n1 …を掛け算し、和を求めます。
少数部:各桁についてn-1,n-2 …を掛け算し、和を求めます。
10進数からn進数に変換する
ここでは10進数の「6.25」を2進数に変換します。
6÷2=3余り0 | ↑ | 整数部の変換では、下から順に並べ、「110」となります。 |
3÷2=1余り1 | ↑ | |
1÷2=0余り1 | ↑ | |
0.25×2=0.5 | ↓ | 少数部の変換では、上から順に並べ、「0.01」となります。 |
0.5×2=1.0 | ↓ | |
上記より変換結果は整数部と小数部の合計「110.01」 |
整数部を10進数からn進数に変換するには「n」で割り算をして余りを求めます。さらに、この商について商がたたなくなるまで割り算を繰り返します。
少数部を10進数からn進数に変換するには「n」で掛け算をして求めます。さらに、小数部については小数部がなくなるまで掛け算を繰り返します。
2進数から8進数・16進数に変換
2進数から8進数にするには、2進数の桁を3ビットごとに、2進数から16進数にするには、2進数の桁を4ビットごとに区切り、その値を8進数や16進数の値に変換すればいいのです。
「1101.101」を変換した図を上に表示しています。
8進数や16進数から2進数に変換するときには、逆の作業を行えばいいのです。
問題
次の計算は何進数で成立するか。
131-45=53
ア:6 イ:7 ウ:8 エ:9
数値の表現
補数
1の補数
2進数の全てのビットを反転します。例えば、-3を表現したい場合には、3の表現である00000011を反転させて11111100となります。
8ビットの場合、-127から127をあらわすことができますが、0の表現方法については00000000と11111111の2通りが存在することになります。
2の補数
2進数の全てのビットを反転して1を加算します。例えば、-3を表現したい場合には、3の表現である00000011を反転させて1を足した11111101となります。
0の表現方法は000000001つなので、表現できる範囲が1つ増え、8ビットの場合、-128〜127をあらわすことができます。
小数
固定小数点数
整数部分のビット数と小数部分のビット数をあらかじめ決めてしまう方法です。例えば、小数点の位置を左から1番目と2番目のビットの間にするという具合です。
ただし、固定小数点数では、11225.3といった絶対値が大きい数値や、0.00034といった絶対値が小さい数値を表現することが難しくなります。
浮動小数点数
限られたビットで広い範囲の実数を表現するには、小数点の位置を取り決めない方法が便利です。浮動小数点数では、実数aを a=f×re という形式であらわします。 この式でfを仮数、eを指数、rを基数といいます。浮動小数点数では、符号部と仮数部、指数部にビットを割り当てます。 例えば、13.4を1.34×101や、0.134×102とあらわします。
正規化
@0.0034*10-8とA0.34*10-10は同じ数を表現しています。しかし、Aのように数の大きさを指数部で表現したほうが、仮数部でより精密な数値を表すことができるようになります。
例えば、仮数部を4桁とすれば、@では0.0034×10-8までしか表せませんが、Aでは0.3412×10-10まであらわせます。
このように@からAのように、指数部を調整することを正規化といいます。
問題
規格IEEE754(IEC60559)による単精度の浮動小数点表示法は、次のとおりである。10進数14.75をこの規格に従って表示したときの指数部Eのビット列はどれか。
[IEEE754]
0<E<255のとき表示される実数
(-8)S×2E-127×(1+F)
ここで、Sは実数の富豪(0:正、1:負)
Eはげたばき(バイアス付き)の指数
Fは純少数
これらS、E、Fの2進数表示を並べて元の数を表す。
例えば、2進数(0.011)2は、(-1)0×2125-127×(1+0.1)2なので、S=0、E=125、F=(0.1)2となる。ここで、( )2内の数は2進数を表す。
ア:00000010 イ:00000011 ウ:10000010 エ:10000011
誤差
丸め誤差
丸め誤差とは、数値を有効桁数にする際の誤差をいいます。
例えば、10進数の0.5は、2進数の0.1となるので、誤差を生じずに表現できます。
10進数の0.1は、2進数の0.0001100110011…となり、循環小数でそのまま表現することはできません。
例えば、24ビットで表現すると、0.000110011001100110011001となります。これは10進数に直すと、0.999999642…という値です。つまり、0.1を表しても正確に0.1とはなりません。
打切り誤差
打切り誤差とは、計算を途中で打ち切ることによってあらわれる誤差をいいます。
例えば、方程式の解を求める際に、計算を途中で打ち切り、解の近似値を求める場合にあります。
桁落ち
桁落ちとは、絶対値がほぼ等しい2数を計算するとき、有効桁数が減ってしまう事をいいます。
例えば、1258.2-1258.1を引き算すると、0.1になってしまいます。元々、有効桁数5桁あったのに、引き算することによって有効桁数が1桁に減ってしまうのです。
情報落ち
落ちてしまいます |
|
情報落ちとは、絶対値の大きい値と、絶対値の小さな値とを演算したときに、小さな値の桁の情報が落ちてしまうことをいいます。
例えば、有効桁を4桁として1234×101+1234×10-4を計算するには2つの指数を揃える必要があります。しかし、このときに絶対値の小さな数値が有効桁数に入らなくなってしまうのです。
なお、計算が複数回行われる場合は、絶対値の小さなものから順に計算すると情報落ちを避けることができます。
オーバーフロー
絶対値が大きく、一定のビットで表現できなくなることをオーバーフローといいます。
表現できる範囲からあふれてしまうのです。
例えば、10進数の156,383という数値は8ビットで表現することはできません。
アンダーフロー
絶対値が小さいため、表現できなくなることをアンダーフローといいます。
例えば、10進数の0.000000000235という数値を8ビット固定小数点では表現することはできません。
問題
桁落ちによる誤差の説明として、適切なものはどれか。
ア:絶対値のほぼ等しい2つの数値の差を求めたとき、有効桁数が減ることによって発生する誤差
イ:指定された有効桁数で演算結果を表すために、切り捨て、切り上げ、四捨五入などで下位桁を削除することによって発生する誤差
ウ:絶対値の非常に大きな数値と小さな数値の足し算や引き算を行ったとき、小さい数値が計算結果に反映されないことによって発生する誤差
エ:無限級数で表される数値の計算処理を有限項で打ち切ったことによって発生する誤差