こうしろうは毎日,コツコツと基本情報技術者試験の勉強を続けている。1月4日から1月8日の間に補数,シフト演算,固定小数点数,浮動小数点数などの数値表現を基本情報技術者『標準教科書』で学んだ。
補数とは何かという話から今回は始めよう。 a + X = b の足し算でaとbの値があらかじめ決まっている場合のXをaのbに対する補数という(なんのこっちゃわかりにくい説明だ)。つまり,3の10に対する補数は7なのだ。2進数には,1の補数と2の補数がある。足して1になるのが,1の補数であり,足すと桁上がりして10(2進)となるのが2の補数である。
10110101(2進)の1の補数は01001010となる。要は元の数を反転させただけである。2の補数は,加算すると桁上がりして0になる数字だから,反転させた後,1を足せば求められる。10110101の2の補数は01001011となる。10110101と01001011を足すとガッーと桁上がりして100000000となる。
インターネットの普及により,もはやビットやバイトという言葉はコンピュータの専門用語ではなく,一般的な単語になった感がある。「ちょビット」なんて親父ギャグにも使える。おさらいをしておくとビットとはコンピュータが扱う情報の最小単位,上記の2進数の1桁が1ビットと考えていただけば良い。ビットを8つ集めると1バイトとなる。1バイトでは正の整数を0から255まで表現することができる(第75話の2進数のウェイトを参照していただきたい)。なぜビットとバイトの話を持ち出したかと言うと,コンピュータは決められた桁数,というかプログラムで指定した桁数で計算を行う。10110101 + 01001011を1バイト(8ビット)で計算した場合,先頭の1は消えて計算結果は 00000000,つまり0となる。
次にシフト演算。シフト演算とは,ビットをシフト(ずらす)ことで数値を変化させる計算である。0010(2進)を左に1ビットシフトすると0100となる。0010は10進では2,0100は10進では4,ちょうど2倍になっている。右に1ビットシフトすると0001で1。2分の1になっている。ずらして空いた桁には0を埋めるのがルールである。
「さて,こうしろう,補数とかシフト演算は何のためにあるのか?」,「うーん。」どうやら,また難しく考えているようだ。「コンピュータは四則演算のうち?」,「加算しかできない。」とこうしろう。そうそう,それである。加算しか出来ないコンピュータに減算をさせるために補数を使い,乗算や除算を行うためにシフト演算を使うのである。「コンピュータって加算しかできないオマヌケだ。簡単な計算するのに難しいことをしている非効率的なヤツだ。」と思うと,少しコンピュータがいとおしくなる。
最後に固定小数点数と浮動小数点数。固定小数点数は,小数点の位置が決まっている数値表現。例えば,8桁で(8ビットではなく,イメージとして8桁で説明します)小数点付きの数値を表し,最上位から6桁を整数部,最下位から2桁を小数部とすると最大値は99999.99,最小値は0.01となる。1234567や0.005は守備範囲外になってしまう。これに対し浮動小数点数は小数点の位置を固定しない数値表現である。数値を指数部と仮数部で表現する。仮数部には仮の数値を入れ(小数点以下の数値として記録する),それを何ビットシフトすると本当の数値になるかという指数を指数部に入れる。(ちょっと大雑把すぎるイメージで説明を続けます。)
例えば,0.00725を浮動小数点数で表現すると指数部-2,仮数部0.725で-2725と表現できる。1桁目が指数部で,それ以降の7桁を仮数部とすると-27250000となる。1257.245は41257245と表現できる。小数点の位置を浮動(フロート)にすると同じ桁数で固定小数点数よりも,小さな数や大きな数を表現できるのである。(注:実際には,浮動小数点数は負の値をサポートするため,指数部,仮数部に加え符号部の3つのパートで構成されます。)
なんか涙ぐましい話でしょう。個人が使うPCに数百メガのメモリと数十ギガのハードディスクが付いている現在「そんなチマチマしたこと考えなくていいじゃないか」と思われるかもしれないが,決してコンピュータの歴史の話ではなく,現在のコンピュータで使われている手法なのである。コンピュータの容量が増えれば増えるほど,人はあれもこれもコンピュータに詰め込もうとするからだ。『冷蔵庫の法則』ってやつですね。
第76話 補数,シフト演算,浮動小数点数と情報処理の勉強は続く
あなたにお薦め
今日のピックアップ
-
不要な製品の購入を強いられる、ブロードコムのVMware買収で悪影響
-
米GitHubが「Workspace」を開始、ソフト開発の課題をAIが自動解決
-
Core Ultra搭載の「dynabook R9」、35時間駆動の実力
-
パスワード管理や不正サイト対策はEdgeもChromeも充実、複数機器の同期は選べる
-
コメント関連が使いやすくなった新Acrobat Reader、「クイックツールバー」に集約
-
M3搭載「MacBook Air」とM2搭載モデルを比較、外付けディスプレー2台接続も試す
-
有名人になりすまして投資広告を掲載、SNSで接触してみた結果
-
NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
-
IIJ公式サイトのPVがある日突然13倍に、バズったわけでも炎上したわけでもない裏側
-
アリババのデジタル人材育成プログラム、世界の起業家や若者4千人以上にノウハウ提供
-
縦長のWebページ全体を画像で保存、メニューから選べるEdgeがChromeより便利
-
「四重苦」で伸び悩む日本市場、なぜ海外スマホメーカーが開拓に本腰を入れるのか
注目記事
おすすめのセミナー
-
「仮説立案」実践講座
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
CIO養成講座 【第35期】
業種を問わず活用できる内容、また、幅広い年代・様々なキャリアを持つ男女ビジネスパーソンが参加し、...
-
改革リーダーのコミュニケーション術
プロジェクトを成功に導くために改革リーダーが持つべき3つのコミュニケーションスキル—「伝える」「...
-
パワポ資料が見違える「ビジネス図解」4つのセオリー
インフォグラフィックスとは、形のない情報やデータなど伝えたいことを分かりやすい形で表現する技法で...
-
間違いだらけの設計レビュー
本セミナーでは、現場で多く見られる間違ったレビューの典型例を示し、そうならないための現場の改善策...
-
オンライン版「なぜなぜ分析」演習付きセミナー実践編
このセミナーでは「抜け・漏れ」と「論理的飛躍」の無い再発防止策を推進できる現場に必須の人材を育成...
-
問題解決のためのデータ分析活用入門
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
業務改革プロジェクトリーダー養成講座【第16期】
3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...
注目のイベント
-
日経クロステックNEXT 関西 2024
2024年5月16日(木)~5月17日(金)
-
日経ビジネスCEOカウンシル
2024年5月16日(木)17:00~19:50
-
WEURO DIVERSITY & INCLUSION FORUM
2024年5月17日(金)13:00~17:30(予定)
-
VUCA時代に勝ち残る戦略的サプライチェーン構築に向けて
2024年 5月 24 日(金) 10:00~16:20
-
人手不足を乗り越える 日本の産業界成長のシナリオ2024
2024年5月30日(木)10:20~17:45
-
人的資本経営版:日経ビジネスLIVE 2024 Spring
2024年6月3日(月)~6月5日(水)
-
DX Insight 2024 Summer
2024年6月4日(火)、5日(水)
-
付加価値ある意匠デザインを実現するものづくり技術2024
2024年6月7日(金)10:30 ~ 17:00
-
WOMAN EXPO 2024
2024年6月8日(土)10:00~17:30
-
デジタル立国ジャパン2024
2024年6月10日(月)、11日(火)
おすすめの書籍
-
ソフトバンク もう一つの顔 成長をけん引する課題解決のプロ集団
ソフトバンクにはモバイルキャリア事業以外のもう一つの顔が存在する。本書ではキーパーソンへのインタ...
-
対立・抵抗を解消し合意に導く 改革リーダーのコミュニケーション術
本書は、改革リーダーに必須のコミュニケーション術を3つのスキルの観点からまとめ上げたものです。今...
-
もっと絞れる AWSコスト超削減術
本書ではコスト課題を解決するため、AWSコストを最適化し、テクニックによって削減する具体策を紹介...
-
優秀な人材が求める3つのこと 退職を前提とした組織運営と人材マネジメント
「学生に人気のコンサルであっても、大手企業であっても、せっかく獲得した人材が数年で辞めてしまう...
-
Web3の未解決問題
ブロックチェーン技術を主軸とするWeb3の技術について、現在の社会制度との摩擦と、その先にある新...
-
ロボット未来予測2033
ロボットの用途・市場はどう拡大していくのか。AI実装でロボットはどこまで進化するのか。技術の進展...