From 8961093ec7d6f55b6353a281b90c9eb87a75b3c7 Mon Sep 17 00:00:00 2001 From: Rikuoh Tsujitani Date: Mon, 25 Mar 2024 15:07:04 +0900 Subject: [PATCH] kijo --- cherry.txt | 3 +-- kijo.txt | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 kijo.txt diff --git a/cherry.txt b/cherry.txt index 6eca28e..cfa1660 100644 --- a/cherry.txt +++ b/cherry.txt @@ -187,7 +187,7 @@ match? : マッチするとtrue、しなければfalseを返すのは他と同 ↑「2行目でUserオブジェクトのfirst_nameメソッドを呼び出しています。ここでのfirst_nameメソッドのレシーバはuserです」というように使う。 ↑つまり「メソッドを呼び出された側」というニュアンスを強調する時にレシーバと呼ぶ メソッド:オブジェクトが持つ動作をメソッドと呼ぶ。他のプログラミング言語では関数やサブルーチンと呼ばれている。 -属性(プロパティ、アトリビュート):オブジェクトから取得あmたは設定できる値のことを属性と呼ぶ。 +属性(プロパティ、アトリビュート):オブジェクトから取得したり設定できる値のことを属性と呼ぶ。 クラス名は必ず大文字で始める User.new : オブジェクトを作成する。この際にinitializeメソッドが呼ばれる。他の言語ではコンストラクタと呼ばれている。 インスタンスメソッドの定義:クラス構文の内部でメソッドを定義するとインスタンスメソッドになる。Class.methodの形式で呼び出せるようになる @@ -217,4 +217,3 @@ User.new : オブジェクトを作成する。この際にinitializeメソッ - diff --git a/kijo.txt b/kijo.txt new file mode 100644 index 0000000..6afe580 --- /dev/null +++ b/kijo.txt @@ -0,0 +1,37 @@ +## 3/25 +8進数から2進数への変換は3桁ずつに区切って行う。4→100 3→011 0→000 5→101 4305→100011000101 +同様に16進数から2進数への変換は4桁ずつに区切って行う。8→1000 C→1100 5→0101 8C5→100011000101 +最下位ビット(LSB)、最上位ビット(MSB) +2の補数表現:各ビットの値を反転して、最後に1を加算して求める +補数表現の利点:足し算で実質的に引き算ができる 980-530=450ではなく980+470=1450としてから先頭の1を削って求められる +仮数:小数部分のこと 2のn乗の2の部分が基数 +イクセス表現:実勢の指数に(2^7-1)=127を加えることで8bitの指数部で-126~+127を表現している ここでは10進数の128の指数が1として扱われる +正規化:仮数部の最上位ビットが0にならないように指数部と調整すること。限られた仮数部を有効に使うために行われる +丸め誤差:四捨五入などにより生じる誤差のこと +桁落ち:値がほぼ等しい2つの数値を減算した時に有効数字の桁数が急激に減少し、それによって発生する誤差のこと +情報落ち:絶対値の差が非常に大きい2つの数値の加減算を行った時に絶対値の小さい方の値が有効桁数内に収まらず、演算結果に反映されないために発生する誤差のこと +打切り誤差:ある程度の値で収束が確認できたところで、処理を打ち切ることで生じる誤差 +オーバーフロー:非常に絶対値の大きな値同士の乗算を行った場合、指数部が表現しえる正の最大値を越えることがあり、この時に誤差が発生する(オーバーフローは同符号の加算や異符号の減算を行ったときに発生する可能性がある) +アンダーフロー:非常に小さな値同士の乗算を行った場合、指数部での表現範囲の最小値よりも小さい数値が表現できないことがあり、それによりアンダーフローとなる +BCDコード:10進数の1桁を2進数4桁に対応させて表現したもの 12345 = 0001 0010 0011 0100 0101 +ゾーン10進数(アンパック10進数):10進数1桁を1バイト(8bit)で表す形式。1バイトの下位4bitで0~9までの数値を表現し、上位4bitは文字コードの種類を表す。+6078 = 00110110 00110000 00110111 11001000(1100が符号) +パック10進数:10進数1桁を4bitで表し、最下位の4bitに符号を付加する。 +2進数のシフト演算:左へ1bit桁移動するたびに数値が2倍になる(2-4-8-16倍) +論理シフトと算術シフト:論理シフトは全ビットを対象とするので負の数は扱えないが、算術シフトは左端1bitぶんを符号ビットとして固定するので扱える +シフト演算の応用:乗除算が関連しているケース(10進数の演算式7÷32の結果を2進数で表せ)→それぞれを2進数に直して5bit右にシフトすると求まる +応用2:2進数で表された正の整数xを10倍にせよ→10倍(4+1倍)x2倍 = 2bit左にシフトしてから元のxを足し算して5倍、さらに1bit左にシフトして合計10倍。 +排中の法則:A・!A=0 A+!A=1 +XOR:!A・B+A・!B +NAND:!A・!B +NOR:!A+!B +ビットマスク演算(ビットの取り出し):特定のビットだけを取り出す操作。取得したいビット位置のみを1としたビット列とのANDをとる。 +条件付き確率:P(A|B) P(B) P(A)とそれぞれ置いた時に、P(B)xP(A|B)+P(A)xP(B|A)...というふうに計算していく +逐次ベイズ推定(ベイス更新):求めた事後確率を事前確率として使い反復することで確立精度を高めていくこと +標準正規分布:平均0、標準偏差1に変換した正規分布のこと +メジアン:データを数字順に並べたときの中央の値。偶数この場合は中央2つの平均値をとる +モード:最瀕値。出現頻度がもっとも高いデータを指す +レンジ:データの最大値から最小値を引いて求めるデータの範囲 +偏差値:平均が50、標準偏差が10になるように変換した値。xの偏差値=50+10(x-平均)/標準偏差 +分散=Σ(x-平均値)^2/n 標準偏差=√分散 + +