-
浮動小数点数
最もメジャーな規格IEEE754 -
-0.112×2の3乗
のうち、「-」のこと符号部 -
-0.112×2の3乗
のうち、-0.「112」の部分仮数部 -
-0.112×2の3乗
「3」乗のこと指数部 -
浮動小数点数
32bitのSMEのbit数1 8 23 -
64bit1 11 32
-
16bit1 4 11
-
IEEE754において、仮数部をMで表せ1.M
-
IEEE754で、指数部をEで表せ(32bit)E+130
-
IEEE754で、指数部をEで表せ(64bit)E+1023
-
文字や記号を、2進数でどのように表すか決めたもの文字コード
-
世界中の文字に、番号が割り当てられているコードのこと。
1-6バイトの可変長で表現Unicode -
文字コードのうち、1バイト文字の代表例。日本で主に使用されている。JISコード
-
文字コードのうち、7bit文字の代表例ASCII
-
Unixというos上でよく使われる日本語文字コード。基本は一文字を2バイト、補助漢字などは3バイトで表すEUC
-
unicodeの一種で、1文字を1−6バイトで表現できるもの。符号化方式をとる。UTF-8
-
写真をもとに、「あ」をUTF-8 で表せ。ただし、unicodeで、「あ=3042」である。E38182
-
表をもとに、aをASCII コードで16 進数で表せ。61
-
65-48を補数を用いて計算せよ。48の補数は、52。
よって、65+52=117
ここで、桁上りを無視して、答えは「17」 -
コンピュータ上で、0と1の信号を用いて演算や制御を行う回路のこと論理回路
-
論理演算では、真を「?」、偽を「?」で表す1、0
-
この回路は?AND回路
-
この回路は?NOT回路
-
この回路は?OR回路
-
この回路は何を表してる?NOT回路
-
2進数の1桁の加算回路
2進数の1桁の足し算をしてくれる回路半加算回路 -
桁上りを考慮した回路
2進数の3つの数の足し算!全加算回路 -
半加算回路のS(繰り上がりでない部分)のみを求める回路XOR(排他的論理和)
同じ数字…0
異なる数字…1となる -
A、Bとすると
HAの出力Cは?A×B -
A、Eとすると
HAの出力Sは?Ā×E+Ē×A -
この回路。NAND回路
-
NAND回路の論理積。言葉で2つの論理積の否定
A×Bの否定のこと。 -
NAND回路の記号は?これ。
-
1秒間に含まれる波の数周波数(振動数)
-
波が一回伝わるのにかかる時間周期
-
アナログデータを一定の時間間隔で区切り、その区切った時間ごとの音圧を取り出すこと。
写真のように区切って、交わるところ(標本点)の音圧を取り出す標本化(サンプリング) -
区切る間隔の時間のこと。写真の緑の矢印の時間標本化周期(サンプリング周期)
-
一秒間に何回も標本化するか、つまり、一秒間にいくつのデータを取るか を表すもの標本化周波数(サンプリング周波数)【Hz】
-
音圧をいくつかの段階に分け、標本化したデータをその段階値に最も近い値に割り当てること。量子化
-
音圧を何段階に分けるかを決める値。2進法基準で、2^n のnの値をとり、2,4,8,16...となる。
量子化ビット数 -
標本化したデータを整数に変えるときに発生するもとの値との差のこと。量子化誤差
-
量子化した値を2進数に直すこと。符号化(コード化)
-
この、標本化、量子化、符号化を行って、アナログ信号をデジタル信号に変換することPCM方式
-
音のデータ量について…
例えば、サンプリング周波数が10Hz,つまり、一秒間に10個のデータを取るとする。また、量子化ビット数を3bitとすると、データ一つを表すのに3bit、10個表すには30bitの桁数が必要となる。
この、必要な桁数のことが、データ量!
これより、一秒間のデータ量の求め方は?サンプリング周波数×量子化ビット数 -
例題!
サンプリング周波数が40kHz,量子化ビット数が16bit
一秒間のデータ量は何kbite?40kHz=40000Hz
16×40000=64000bit
640000bit=80000bite
80000bite=【80Kbite】 -
関数に入力する、関数が外部とやり取りをするための値引数
-
print('a',[?])
print('b')
改行せず「ab」と表示させたい。?に何を入れる?end='' -
ifやforといった、既にpythonに使われている言葉予約語
-
四捨五入int(入力値+0.5)
a=input()
b = float(a)
print(int(b+0.5)) -
if文などを用いるときは、()をそろえるインデント
-
演算子
等しくない!= -
aはb以上a>=b
-
for i in range(3):
print(i)
これの結果は?012
for文は0から! -
for i in range(3,6):
print(i)3 4 5
forは「m以上n未満」 -
算術演算子
割る(除算)/ -
割ったときの余り
(剰余算)% -
複数の値をまとめて入れるものリスト
-
リストに入っている値のこと要素
-
要素の番号のこと添え字、インデックス
-
添字の注意点は?0番目から数えること
-
リスト(ary=[])にランダムに要素を5つ足すimport random #この記述を忘れない
ary=[] #上に同じく
for i in range(5): #iは0-4
m=random.randint(1,100)
ary.append(m) #「.append」
print(ary) -
リストをランダムに作り、(要素は5つ)その合計値を求めるimport random
ary=[]
for i in range(5):
m = random.randint(1,100)
ary.append(m)
s=0
for i in range(5):
s = s+ary[i]
print(s) s=0を忘れない
要素を順番に足していく -
リストをランダムに作り、(要素は5つ)その合計値を求めるimport random
ary=[]
for i in range(5):
m = random.randint(1,100)
ary.append(m)
print(ary)
s = ary[0] #リストの0番目の値から順に1,2…番目の値との大小を比べる
for a in range(5):
if s<= ary[a]:
s = ary[a]
print(s) -
an algorithm to find the data you want from a list探索アルゴリズム
-
先頭から要素を調べていく探索アルゴリズム線形探索法
-
線形探索法「whileを用いる」key = int(input("探索データを入力"))
i =0
pos=-1
while (i<n and pos==-1):
if key==ary[i]:
pos=i
i = i+1
if pos == -1:
print("探索データはありません")
else:
print("探索データは先頭から",pos+1,"番目にあります。") -
returnによって戻ってくる値戻り値
-
y=50
def a():
y = y+100
print(y)
a()
これがエラーになる理由y=50のyはグローバル関数であり、
y=y+100の右辺のyが未定義だから。 -
y=50
def a():
y = y+100
print(y)
a()
正しく書き換えよy=50
def a():
「global y」
y = y+100
print(y)
a() yをglobal関数にして、 -
1101(2)を十進数に変換。ただし、2進数は4ビットの整数・負の値は補数になっている。-3
2進数は4ビットの整数・負の値は補数になっている。
こんな記述があったら…補数をかんがえる!
4ビット…-8〜7まで!
普通に十進数にして、8以上になったら補数に! 補数の2進数を十進数にするときも、反転→1を足すでおk。
(または10000から引く) -
文字コード全体の共通点として、英数字や記号は何ビットで表す?8bit(1B)
-
漢字は?16bit(2B)
-
1バイト一文字の代表例JISコード
-
JISコードの説明半角英数字や半角カタカナ、半角記号などを8ビット分のコードにしたもの
-
JISコードにおいて、00-1f,7fに割り当てられているもの制御コード(周辺機器や表示方法などを制御するもの)
-
UTF-8 の説明Unicode の一種で、一文字1-6バイトの可変長で表す
ログイン