Skip to main content

プログラムはなぜ動くのかを読んだ

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

新品価格
¥2,640から
(2019/10/6 12:49時点)


プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
を読んだ

マスタカばなぜ動くのか
そう愛のためである

そんなわけで本書を読んでみた
以下、感想


・本書の内容
プログラムがどうやって動くのか説明した本
コンパイルしたコードがどうなるかや
CPUでどうやって計算してるか
みたいなところをカバーした本
情報工学みたいな話も出てくる

本書で役に立ったこと

・比較の計算
XXXとYYYの比較は
CPUの内部で
XXX – YYYして値がマイナスかどうかで判断してる

・シフト演算
2桁の左シフトは4倍
3桁の右シフトは1/8倍

論理右シフトは通常通りシフトして上位に0を入れる
算術右シフトは上位補数が1だったら1を上位に入れてシフトする

・補数
Aのマイナスの値は
すべてのビットを反転させて1を足す
これが補数

また0が+側になるので
shortは-32768〜32767
と+側が1少なくなる

・小数点
符号部:1ビット
指数部:8ビット or 11ビット
仮数部:23ビット or 52ビット

・小数の演算方法
正確な小数の演算をするなら小数を一度整数に直してから
再度小数に直す処理が必要

・メモリの仕組み
データ信号とアドレス信号とRDとWRのピンがある
データ信号でビットを表現して、アドレスに保存する

・ポインタ
ポインタはアドレスの場所を示すだけでなく
アドレスから何バイトのデータを読み書きするかということを表す

・ハフマン法
出現頻度が低いものから木にしていく圧縮法

・ports
FreeBSDのportsはソースコードを落としてきて
これを自分の環境でコンパイルして実行環境を作る仕組み

・擬似乱数
線形合同方式
Ri+1 = (a * Ri + b) mod c

本書は大変役に立ちました
プログラミングが一通りかけるようになったら
本書を読んでみることで理解が一段と深まるかなと思います
学校で学んだことの復讐にもなるのでおすすめです

関連記事:

Pocket