2020年1月の記事一覧
0.01が0.01ではない??
数値を2の倍数(…21,20,2-1,2-2…)の組み合わせで扱う場合、10進数の 0.01 は切りよく表せません。
例えばプログラムのつくり方によっては、0.01を1万回足すと100.00のはずが100.002953、100万回足すと10000.00のはずが9865.223633が出ます。(同じ値を足しているのに増えたり減ったりします。なぜか考えてみましょう)
銀行の利息や商品の税額計算で、あるべき値が出ていなかったら大きなトラブルになってしまいますね。
※プログラミング言語によっても幾つかの内部表現方法があります。今回の値の変化は「https://paiza.io/ja」のC言語で出力したものです。
DNS
インターネット上の端末はIPアドレスで識別されます。
しかし、ブラウザでWebページを閲覧するときなど「 https://nsg-h.spec.ed.jp/ 」のように、文字列で指定できるようにするしくみがDNS(Domain Name System)です。
DNSサーバがいくつもあり、インターネット上の「名前」と「IPアドレス」の対応を管理しています。
OR(オペレーションリサーチ)
「OR」は、論理演算の論理和(オア)だけでなく、オペレーションリサーチ(オーアール)という分野としても表記として出てきます。
あることがらを よりよいものにするために、「なんとなく」ではなく「定量的」に分析,管理,評価することになります。
たとえば、100個のシュウマイ弁当を製造するために必要な豚肉の量は何グラムか。ある地点Xから〇地点を経由して地点Yに行く最短経路は? などに対して、勘ではなく数学的に分析し最善策を導くこともORの一つです。
ORのように定量的に考えることで、様々なことをプログラムで実現(自動化)することにもつながります。
インフラ
インフラ(インフラストラクチャー:infrastructure)というと、道路や電気,ガス,水道,自治会といった、社会や生活の基盤を指します。
情報技術としてスマホのインフラを考えた場合、通信の機器や通信路、機器の電源となる電柱電線発電設備、様々な規格や法整備に関する団体も考えられます。
多くの人が現在スマホを使っていますが、いつでもどこでも使えていることは決して当たり前のことではなく、いくつものインフラ要素が稼働して実現しています。