0と1の隙間。PCから「小数点」を考える。

こんにちは!鳩豆です!

前回の「デジタル」を今更考えてみたよ、の記事に続き今回は0と1の隙間、、小数点の世界はPCではどうなっているのか考えてみたい。

PCでは2進数ベースであるものの、実際は色んな進数を組みわせて処理するらしい。
2進数で計算し、16進数に変換、はたまた10進数で表示する・・・・などなど。
す、すごい。

そこでふと疑問が湧いた。
そういえば小数点ってどうするんだろう?
2進数って桁が多いのに、さらに桁が小数点以下に付くと、いくら処理が早いからって流石に横に並びすぎじゃね?というショーもない疑問が湧いたのだった。

2進数で
1+1 は…10

もう桁が増えたーーー。

10進数の小数点
12.2は
2進数で
10110.00110011001100110011001100110011001100110011001100110011
(打ち切り)

桁が多っ。打ち切らないと大概、小数点部分は循環する。

この桁数をビットの情報に乗せるということはさらに(ものすごい雑に言うと)桁が増えることになる。
1文字も8ビットで表現する場合、この桁数は桁数だけですでに合理的じゃない。

と言うことで。
心配するまでもなくしっかり準備されていた。

PCでは浮動小数にして情報を渡すらしい。

「浮動小数点数」のwikiによると・・・・

浮動小数点数(ふどうしょうすうてんすう、英: floating point number)は、浮動小数点方式による数のことで、もっぱらコンピュータの数値表現において、それぞれ固定長の仮数部と指数部を持つ、数値の表現法により表現された数である。

うむ,なるほどー。
全くわからんわっ!!

文字の意味を調べて、その説明文が何一つわからん時の悲しみと言ったら・・・気を取り直して説明すると・・・・

12.345(10進数)を内部で処理する際に、

12.345を符号と指数と仮数に分けます。(そういえば習ったな〜)

符号(ビット先頭)は正の数なので符号は0、

12と0.345に分けて、
二進数に変換してみると・・・

12⇨1100と
0.345⇨010110000101000111101011100001010001111010111000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0がまだ多いので大変だ……
そこで小数点を左に移動させて1だけ残して表現すると、

1.100010110000101000111101011100001010001111010111000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
x(かける)
23

と表現できる。まだ多い・・・・

そこで今回は単精度のfloatで指数と仮数を32ビット(4byte)で表現する。

32ビットでは先頭が符号、後の8桁が指数部、残り23桁が仮数部となるので、

0 10000010 10001011000010100011110

結合すると、

01000001010001011000010100011110

12.345はと32bitのfloatでは↑で表現しているのだね…..ふう、やれやれ。

いつも処理とか、いろいろありがとうパソコン君!
ではまた!

Digital再考〜 唐揚げからDigitalを考える

こんにちは!鳩豆です!

Blogネタに困ったぞ、ということで、PCネタを書いていきます。
自分のためのメモ書きとして、鳩豆メモ略して「はとまめも」!

何はともあれ、Back to the Basic!
何事も基本から〜を軸にくだらない閑話をして参ります。

記念すべき初回は「Digital」とはなんぞや?のところから。
うむ。初回にふさわしい。

デジタル大辞泉さんの解説を見ると、、

「デジタル」とは

連続的な量を、段階的に区切って数字で表すこと。
計器の測定値やコンピューターの計算結果を、数字で表示すること。数字表示。

最後の「数字表示。」がなんかすごいシンプルで良い。

よく言われる
『デジタルってやつぁさあ、0か1の世界なのよ、要するにそういうこと。わかったな。それ以上聞かれても困るぞ。』などど自分も訳知り顔で言っていた。。。

『PCは基盤の上の電流の有無を表現するのに、つまりONとOFFを表現するのに0 と 1 が適していた。だから2進数が根本にある。つまり、デジタルとはさー、「ある」のか「ない」のかの情報のみを取り扱う世界なのさー。それ以外の情報はアナログなんよー』、、と。

しかし鳩豆は0と1の間の存在が気になっていた。

「0」とは「無い」を表す数字だ。「1」とは「ある」を表す一番最初の数字だ。そこで鳩豆は思った。

「あれ?0と1の間には、0.1があり、0.01があり、0.001があり、、、、無限じゃん。」「無限じゃん。」

そうなのだ。上の説明にどこか物足りない印象を持っていたのである。

そこで再考するにあたり、
鳩豆は唐揚げが大好きであるが、これを例に「Digital」を考えてみた。

「唐揚げを今食べたいか?」
という問いに対して「0」と「1」で考えてみたい。

A:「全く食べたくない、もう金輪際食べない!」(0)
B:「まさに今食べたかった!全部ちょうだいね!」(1)

しかし日常にはこれ以外の答えが無数にある。

C:「いやー昨日、居酒屋ですんごい食べたのよー、んもう、10個は食べたかなー、いや、ほんとは好きなのよ、ほんとに。」

D:「今はなー・・・、今日晩御飯、とんかつにしようかと思っててさー、夜にガツンとしたの食べるじゃない。ただ明日は食べたい。食べる!!明日もまた貰えるの?いいの?いいのね?明日は絶対食べるからね。とっといてよ!」

上の説明ルールを適用すると、
AとBがデジタル、CとDはアナログとなる。た、多分。

((・・・なぜだろう?どうでもいい話にどうでも良い例え話を乗っけてしまっている感じがする・・・))

しかーーーし、
ここで「デジタル大辞泉さん」のデジタルについての解説を思い出して欲しい。
「連続的な量を、段階的に区切って数字で表すこと。」

置き換えると

唐揚げが好きということ自体はおそらくこの先も連続的で変わらず、
その量(食べたい度数)が段階的にある、と
そう!CとDもしようと思えば数字で表現できる。た、多分。

例えば、
Cさんは「ほんとは好きなのに昨日も食べたから」と言っているが決して頂戴とは言っていない。数字で言うと 0.001101 あたりとか表現できそうだ。
Dさんは明日はもらう気満々だ。なので 0.1111111・・・ と表現できる!

そうなんです!!

この行為自体、この考え方自体、、
つまり、デジタルとはすなわち、「0と1だけの世界」ではなく、

 

「全てを数字に置き換えること」
まさに簡潔に言うと「数字表示」!!!
いや、すでに数字そのものがデジタルだったんだ!!

これが鳩豆流のデジタルの正しい解釈だーーー。
とりゃーーーーー。とりゃーーーーー。とりゃーーーーー。・・・・・

 

 

というところで、次回は「0」と「1」の隙間に焦点を当てたい。
くだらない説明にお付き合い頂きありがとうございました。

Macで文字入力を洗練させる小技

こんにちは!鳩豆です!

Macのキーボード入力で「やばい、打ち間違えた!」の時のちょっとした小技を紹介します。
例えば下のような入力・・

texttexttexttexttexttexttexttext
texttexttexttext
texttexttexttexttexttexttexttexttexttext
やばいkop、76&打ち間違えた。結構打っちゃったよ・・・・

texttexttexttexttext
ここに入力したかったのに・・・・
texttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttext

文字を必死に打っていて、かなり打った後に「やばい変な文字になってる」と気づき、BackSpaceキー連打でひたすら打った文字を消してませんか。

鳩豆は消してます!!

「バックスペースキーの消耗、激しいだろうな・・」と心配になってみたり。
打ち間違えると結構最初から打ち直したいもので、結局全部をBackSpaceキー連打で消しますよね。

そんな時もうBackSpaceキーを連打する必要はないんです!

以下のショートカットキーで「やばいkop、76&打ち間違えた。結構打っちゃったよ・・・・」の部分をさっくり消せます。

Control+A
Control+K

Control+Aでカーソルが先頭に、
Control+Kで行削除!!

おお、早い!
これからはこの方法で、消そう!

これでBackSpaceキーの寿命が少し伸びたかも?

 

Illustratorのバージョンをサクッと調べる

あけましておめでとうございます。本年もよろしくお願い申し上げます。

 

こんにちは!鳩豆です!

 

 

「あれ?イラレのバージョン何で作ったっけ?」の時ありますよね。

先方さんにバージョン指定などあった時、細かなバージョンを知りたい時などなど。今回はイラストレーターで作成したファイルのバージョンをMacでサクッと調べたい時の方法を紹介します。

「作成したイラレファイルを開いて、えーっと、環境設定とかだっけなー・・・」

イラレを立ち上げなくても確認可能なんです!!

 

 

【Macイラレアプリ自体の確認方法】

1、Finderからアプリケーションを開きカラム表示に切り替え

2、Adobeイラレ(ここではcc2018)→ アプリ本体の方のAdobeイラレ(を選択状態にすると)、、カラムの一番左に情報が表示されます。

 

なるほど正確にはバージョン22.01なのだな、うむ。 と確認できた!!

 

続いて作成したファイルのバージョンを調べるには・・

【Macイラレファイルの確認方法】

1、該当ファイルを右クリックで「情報を見る」

2、するとバージョン表記が下のように!
この場合は「v22.01で作成保存してv.17まで互換性があるよ」ということになります。

 

簡単じゃ!またね!