l

o

a

d

i

n

g

.

.

.

[書籍レビュー] コンピュータはなぜ動くのか?

2025/12/25

レビュー

t f B! P L
eyecatch 最近、「ITなぜシリーズ」を読み漁っています。 比較的評価が高いと耳にしたので、kindleで手当たり次第購入して読んでいるんです。 このシリーズは、初心者向けに書かれているので、最初はどうかな〜と思っていたんですが、ちゃんとした基礎知識が書かれている点など、知らなかったこともあり、読んでおいて良かったと感じさせてくれるシリーズでもあることに気がつきました。

レビュー

★★★☆☆
中級以上のエンジニアであれば、8割以上は知っている内容となっているし、 後半はプログラミング言語「C言語」「Python」「アセンブリ言語」の解説に費やしているので、 すでにこれらの言語をこれから学習したいと考えている人には、大いに学習になる可能性が高い書籍でした。 最後の方の章には、AIの機械学習についての話もあり、かなり幅広いコンピュータの知識について書かれています。 単語や用語など、この書籍を通して今一度確認してみるのも悪くないかも。

この書籍での学びポイント

目次

1. プログラマにとってCPUとはなにか 2. データを2進数でイメージしよう 3. コンピュータが小数点の計算を間違える理由 4. 四角いメモリーを丸く使う 5. メモリーとディスクの親密な問題 6. 自分でデータを圧縮してみよう 7. プログラムはどんな環境で動くのか 8. ソースファイルから実行可能ファイルができるまで 9. OSとアプリケーションの関係 10. アセンブリ言語からプログラムの本当の姿を知る 11. ハードウェアを制御する方法 12. コンピュータに「学習」をさせるには おまけ1. レッツ・トライC言語 おまけ2. レッツ・トライPython

プログラムの実行イメージ

2進数について

コンピュータがどうして2進数で扱われるのかというと、IC(Integrated Circuit : 集積回路)のピン(ムカデのようについているピン)はぞれぞれ1本ずつ、ONとOFF(0と1)という状態しか表せないからです。

2進数おける演算

演算において「論理」とついになる言葉は「算術」です。 2進数で表された情報を、四則演算する数値として取り扱うことが「算術」。 グラフィックパターンのように、0と1の羅列として取り扱うことが、「論理」。

コンピュータが小数点を間違える理由

2進数を10進数と比較して考えると明確です。 10進数では、10÷3=3.3333...というふうに割り切れない。 2進数を10進数に変換して、それを計算するため、割り切れない数字が出てくるからというのが、原因です。 以下の2進数と10進数の対応表をみると、計算ができない数字があることがわかります。

データ圧縮について

「ランレングス法」と「ハフマン法」 ランレングス法 文字コード+連続する数で表す圧縮法 「AAAAAABBCDDEEEEEF」を圧縮すると「A6B2C1D2E5F1」になる。 わかりやすいが、デメリットとしては、元の文字数よりも圧縮後のデータが大きくなる場合がある。 「ABCDE」の場合、「A1B1C1D1E1」となる。 ハフマン法 まず、モールス信号のように、文字を文字コードにします。
次にそれを8ビットのの枠に当てはめます。
最後にそれを、ツリー構造のように、階層化させます。
この方法で行われているのが、zip圧縮ですね。

あとがき

上記のポイントの他にも、OSとアプリの関係や、メモリとディスクの構造について、機械学習、プログラミング言語、などなど、 かなり幅広いコンピュータ知識についての入り口学習になることが書かれているので、初期学習としてこの書籍を読むメリットはあると思いました。 中には少しわかりにくい説明などもありましたが、そこは、ググったり、チャピったりして、自分なりに理解してみると、よりこの本の書かれている内容を理解することができるでしょう。 これって、勉強の基本的な姿勢というか方法なんですけどねwww。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ