「未分類」カテゴリーアーカイブ

2進数の恐怖

普段から EXCEL でいろいろと計算させたりチェック作業をしてる人で「10進数から2進数への変換誤差」と聞いて「ああ、はいはい、知ってますよ。それがどうかしました?」という人はこの記事を読む必要はナッシングありません。どうぞ心安らかに日常生活をお過ごしください。

さて、ここからは、EXCELで計算式や関数を活用してるけど、2進数と10進数とか丸め誤差とか言われてもピンとこない方々にお読みいただく部分です。知ってる人には「何をいまさら」って話ですけど、知らない人はこれを読んでる途中で過去に自分が仕事で何かとんでもないことをやらかしてしまってたんじゃないかと背筋がゾクッとするかもしれません。

EXCELで試してみよう

手元にパソコンあったらEXCELを起動しましょう。

あ、EXCELを使いますけど、悪いのはEXCELじゃないです。わたし、日頃からEXCELはクソだとかクソだとかクソだとかクソだとかひどいこと言ってますが、この件についてはEXCELさんも被害者っていえば被害者かな。ま、とりあえずエクスキューズしといたから、あとは言いたい放題言うよ。

EXCELを起動しましたか?

起動したら、A1セルに「0.1」と数字を入力して、B1セルには「=4.9-4.8」という式を入力してください。

入力を確定するとA1セルもB1セルも「0.1」が表示されますね?

ここでA1とB1に違うものが表示されたって人はおっちょこちょいです。このページをそっと閉じてまずは「よくわかるMicrosoft Excel 基礎」とか「すぐわかる はじめて学ぶExcel入門」とかって本を読みましょう。

さて、次にC1セルに『A1セルとB1セルが同じなら「同じ」、違うなら「違う」という文字が出力される』判別式を作ってください。If文を使います。

=IF(A1=B1, “同じ”, “違う”)

さて、A1セルとB1セルは同じだから、C1セルには「同じ」が出力されると思いきや・・・・

「違う」が出力されちゃいました。画面では両方とも同じ0.1なのに、違うという判定になってしまう。これはいったい何が起きてるのか。

D1セルに、A1セル引くB1セルを計算させてみましょう。

0.1 – 0.1 なんだから0になると思いきや

あら? 0.1 引く 0.1 の結果がビミョーにゼロになってない。指数表示だとわかりにくいから小数で表示すると

0.1 よりも 4.9 – 4.8 の答えの方がほんのちょっとだけ大きいってことになってる。

これが、丸め誤差と呼ばれる怪奇現象。

コンピュータは2進法で動いている

ご存知の方が多いと思いますが、コンピュータはあらゆる情報を0と1の組み合わせで記録する機械です。たとえば数値も

10進数の [5] は [101]

10進数の [6] は [110]

10進数の [7] は [111]

みたいに2進数で扱います。

計算も2進法で行われます。たとえば 5 + 7 は、コンピュータの中では2進数に変換されて 101 + 111という2進法の足し算が実行されます。答えは2進数の 1100 で、これを最後に10進数に戻すと 12 になり、答え 12 と表示されます。

10進数を2進数に変換して、2進法で四則演算を実行して、出た答えを10進数に戻す

このとき使われる数値がみな整数であれば10進数←→2進数の変換にまったく問題は起きないんだけど、小数が関係すると問題が起きる可能性が出てくる。たとえば10進数の「0.1」を2進数に変換しようとすると

0.00011001100110011001(1001)・・・・・・

と循環小数になってしまう。このときコンピュータは所定の桁数で丸めてしまうので、誤差が発生。2進数の0.00011001100110011001を10進数に戻すと

0.09999942779541016

で 0.1 には戻らない。

同様に

10進数の「4.9」は2進数で「100.11100110011001100110(0110)・・・・・」

10進数の「4.8」は2進数で「100.11001100110011001100(1100)・・・・・」

なので所定の桁数で丸められ、4.9 – 4.8 の計算結果は丸めた数値同士の引き算になるので、計算結果に誤差が発生する。そのため 4.9 – 4.8 の計算結果が 0.1 と微妙に違うという結果になってしまう。とまあそういうことらしい。

EXCELはその涙ぐましい努力によって画面の見た目では A1セルもB1セルも同じ0.1を表示してくれてるものの、実際の情報は誤差を含んだ状態でしか記録できていない。その結果、同じはずの2つの結果が違うということになる。

IF文とかで計算結果の比較したことある?

小数が関係する計算は誤差が含まれる可能性があるので、上記のように比較式に使うと同じはずの数値が、違うと判定されることが起きてしまう。

ここまで読んで、背中に冷たいものを感じた人がいるかもしれない。

大量の計算結果同士を比較してIF文で同じかどうか判別して集計に使ったりしたことがある人、あの時の集計結果は本当に正しかったのだろうか?

いやーっ

こだち第2事務所(2)

先を見通せない場当たり的な経営によって、せっかく建てた事務所がたった4年で使えなくなるという大失態を演じたオレってなんかカッコよくね?

ええ、カッコ悪いですよね、はい、わかってます。反省してます。

 

現事務所から徒歩3秒というすばらしい場所にアパートを借りてそこを第2事務所にしました。賃貸なので大丈夫。もしまた手狭になったら移転すればいいだけですから。『家賃払うくらいなら買った方がいいじゃん、みんなバカなの?おれ天才なの?』という能天気な考えは捨てました。企業規模にあわせて事務所を簡単に変えられるのが賃貸のメリットなのね。

さて、場所は好適な第2事務所なんだが、生活臭あふれる古典的なワンルームアパートというのが困りもの。全然仕事スイッチが入らない。

●台所の存在感を消したい

まずなんとかしなきゃならんのは「玄関のすぐ横にある台所」

 

玄関のすぐ横にむき出しの台所。キッチンじゃない「台所」だ。昭和のアパート感あふれるサイズとデザインの台所が玄関入ってすぐの場所に鎮座ましましている。これでは玄関入っていきなり仕事する気が失せる。取引先の人が来てもあまりの生活臭に失神してしまうだろう。

なんとかしなきゃいかんのだが、賃貸だから壁紙はがすとか穴開けて何か取り付けるとか無理。置くだけの何かでどうにかゴマかす方法を考えにゃならん。

・・・・・・・・DIY魂がメラメラと・・・・・・・湧いてこない。

この機に私物感があふれる机もまともなビジネス用デスクに買い換えようと思って世界のオカムラの営業マンに部屋を見てもらったついでに、この台所をどうしたらいいか相談してみた。

「パーテションを置いて隠したらいいと思います」と即答。カタログをパラパラっとめくって↓こういうのを紹介してくれた。

まあ、そうだよな。

でもパーティションくらいなら、買わなくてもなんかそれっぽいもの作れそうだなあ。ということで作ってみることに。

●パーティション作った

家の中に使えそうな材料は転がってないかと見たら、4年前に猫の侵入防止用に作ったドアがあった(その時の話は家がオリになっていくでどうぞ)。当時は金魚やネズミがいたし、長男がアレルギーだったり、キッチンに侵入して悪さしたりして、宅内での猫の移動を制限する必要があって、金属メッシュパネルを使った簡易ドアを何枚か作った。

 

あれから4年の間に金魚は死に、ネズミは天寿を全うし、長男はなぜかうちの猫にはアレルギー症状が出なくなったし、キッチンに侵入するものの子猫の時ほどの悪さはしなくなったし、で手作り侵入防止ドアが使わなくなってた。

そこでこのドアを解体してこのとき使った突っ張り棒とメッシュパネルで、第2事務所の台所を隠すパーティションをつくることにしたよ。

↑こんなイメージ。突っ張り棒の左右にメッシュパネルを結束バンドで取り付けて「く」の字形にして台所を隠す。カンタンパーティション。突っ張り棒立ててメッシュパネルを結束バンドで縛るだけ。あっという間に完成。しかし、メッシュパネルだけだとスカスカで台所丸見えの状況は変わらないので、メッシュパネルに何かを貼り付けて目隠しにする必要がある。

ここが悩みどころ。

最初は布を張ろうと思ったんだけど、しっかりたるみのないようにビタッと張らないとだらしない感じでオフィス感が出ないと思ってめんどくさいので却下。タペストリーかなとも思ったんだけど、よほどデザインに慎重にならないと学生さんのアパートって感じがするのでこれも却下。たぶん俺だとガンダムのタペストリーとか貼ってしまいそうだし。

結局、半透明のポリスチレン板がいいかなと思ってホームセンターへ。風呂のドアなんかに使われている半透明で片面がボコボコしていて、中に人がいるかどうかがわかる程度にしか向こう側が見えないやつ。

↑こういうのを想像して、ホームセンターへ。ところがホームセンターでいろいろ眺めているうちに横方向に細長い木製板材を取り付けて何段にも重ねる目隠し板式がいいかなと思い始めた。

方針転換。

色を塗った板材を貼り合わせてストライプ調の目隠し板を作ってみることに。

ど、どう?紺・青・白のストライプ柄ってベンチャー企業のオフィスとかクリエイティブ系オフィスなんかでよくある色使いだっていう偏見に基づいて3色の板材を貼り合わせて目隠し板を作った。板と板の間をピッタリ合わせちゃったけど、3mmくらいの間隔をとったほうがよかったかもという後の祭り、後悔先に立たず。まあいいか。俺の背丈だとこれで台所は見えないんだけど、背が低い人だと台所の端が見えそうだから下にもう1枚入れた方がいいかな。

●調子に乗ってオサレデザインに挑戦

さて、パーティションをオシャレクリエイティブ系に路線変更したので、それならばと調子に乗って板材にオシャレっぽいデザインを施してみることにした。といってもオシャレクリエイティブ系とは縁のない昭和脳の人間が無理すると超絶恥ずかしい結果になるのが目に見えてるので、まずは控えめに1枚だけアクセントを入れた。

上部の白い板材の左端に手書き風メッセージ、右側に会社名とメッセージ。

オシャレクリエイティブ系を目指してがんばってみたものの結局『プログラムはお前が思った通りには動かない、お前が書いた通りに動く。』とかIT業界あるあるネタを書いてしまうあたりがウケ狙いの悪いクセがにじみ出てしまってちょっと悲しい(ほんとはうれしい)。

左端のメッセージも英語でオサレっぽく見せてるけど『私が書いたプログラムが動かない理由がさっぱりわからない。私が書いたプログラムが動く理由がさっぱりわからない。』というこれまたIT業界あるあるネタだし。

まあしょせん久光は久光ってことで冷笑するくらいで許してくださいな。

●折り返し部分のデザイン

さて、玄関側からの視線をこれで遮ったので次は折り返し部分のデザイン。同じ色の板材で端の凸凹ずらしも合わせて(パーティションを直線状に開いたらピタッとつながるように)デザインしようと思ったんだけど、「ただの目隠しじゃもったいない。せっかくなんだから掲示板のような使い道がある方がいいんじゃないのかね」という心の声が・・・貧乏性なのかな。ということでコルクボードを購入。

折り返し部はコルクボードを上下対称の板材で挟み込んでみた。

・・・・・・・・・うーん、紺と白の板が逆の方がよかったかな。いやそもそもコルクボード入れずにすんなり玄関側と色と凸凹を合わせたデザインの方がよかったかな。うーん、だんだんオサレクリエイティブじゃない感じがしてきたけど、まあいいことにしよう。気にしない、気にしない。

いずれにしてもこっち側は下半分も目隠しした方が良さそうだな。台所がありますっていうのがもろわかりだもんな。どうしようかな。このまま板材を下まで繰り返すとしつこい感じがするし、ライトオークかウォルナットの大きな一枚板で隠すか、ここで半透明ポリスチレン板を使うか、あ、壁面緑化タイプの人工観葉植物を取り付けるのもいいかも。ゆっくり考えよう。

こだち第2事務所

4年ほど前、自宅近くに第2教室「こだち」を建てた。このときついでに四畳半の事務室をゲット。会社設立から苦節10年、やっと手に入れた俺専用仕事部屋。専用だからって仕事が3倍速くなるわけではない。なぜなら部屋が赤くないからだ。意味わからない?わからない人は近くの人に「専用で赤いと3倍速いの?」と質問してみるがよい。働き盛りのアラフィフ日本国民の半数がその理由を早口でまくしたてるように解説してくれるだろう。そしてそのうちの1%くらいの人間は聞いてもいないのに一年戦争からシャアの反乱まで2分で説明してくれるだろう。

・・・・・・・何の話だっけ。

静かに黙々と仕事に集中できる俺専用仕事部屋が手に入ったせいなのかどうなのか、おかげさまで仕事が増えて忙しくなり、業績面で人を雇う余裕も出たことで人を雇ったのが2年前。社員が死ぬほど働いて社長はヒマになってふんぞり返って不労所得ガッポガッポぉぉぉというブラック企業経営者を夢見て、四畳半の俺専用仕事部屋はむさ苦しい男二人の仕事部屋に。

その後、おかげさまでさらに仕事が増えて忙しくなり・・・・業績面で人を雇う余裕も出たことで・・・・

 

ん、おかしい、何かがおかしい。

  • 2014年 仕事部屋ゲット
  • 2016年 忙しさに負けて人員増強
  • 2018年 忙しさに負けて人員・・・・

人を雇って仕事を分散したはずなのに、相変わらず朝から晩まで平日も土日もなく仕事してる。おかげで家族からの評判がすこぶる悪い。まあ、仮にヒマになったとしても平日真っ昼間から家でガンプラ作るだけだし、どっちにしても家族からの評判は良くならんのだよ。ハッハッハッハァー!!!(自慢顔)

・・・・・・・何の話だっけ。

少なくともこの先5年くらい業績は好調に推移しそうだし、忙しいし。ヒマな社長が踏ん反り返ってハッハッハ!をやるにはさらに増員しないといかんようだ。という結論に達した。ので、増員を決意した。のだが、四畳半の仕事部屋に3人は物理的に入らない。

・・・・・・しまったっ!

「余裕を持って広い部屋を作っておけばよかったのに、そちはつくづく先を見通せない男よのぉ、ホッホッホッホッ」

「何をおっしゃる。身の丈にあったビジネスをしてると言ってほしいものだな。」

「余裕で渡れる石橋を叩き壊して渡らないことがビジネスとな?!ほんにそちは笑わせてくれるのぉ、ホッホッホッホッ」

ああ、そうですよ、そうですよ。おれが行き当たりばったりの会社経営してるせいでせっかく建てた事務所があっという間に手狭になるというヘタをこいたわけだよ。ああ、そうですよ、そうですよ。チッ。

さてそういうわけで、人員増強の前にまずは場所の確保が必要になったわけなんで、去年の夏頃から新たな事務所探しをしてた。なんだずいぶん前から動いてたんじゃん、オレ。えらい。ほめてくれ。

「戦いとは、いつも二手三手先を考えて行うものだ」

 

ピンク色のモビルスーツに乗ってる恥ずかしい人から褒めてもらったので満足です。

新しい事務所といっても、ピアノ教室の開け閉めとか準備とかがあるから「こだち」から近い場所がいい。そこで近場のアパートに空き部屋が出るのを待つことに。卒業だの転勤だので空き部屋がで始める2月になって近所の不動産屋に相談。

「うちのピアノ教室の近くに空き部屋でてません?」

「ああ、すぐ近くのアパートに1部屋でてるよ」

ということで即決。どれくらい近いかというと、ここはgoogleさんの出番だ。

近っ!

道路挟んで反対側。歩いて5歩くらい。以前勤めてた会社だったら隣の部署へ行くより近いかも。

これくらい近いと第2事務所用に電話回線やネット回線を用意しなくても、こだちで使ってる無線LANやコードレス電話の電波が微妙に届く。電波スゲー。

ということで、なんとか第2事務所を確保しました。次なる問題は「内装」だ。なにしろ普通のアパートなので、当然ながら生活臭あふれる間取りと設備なのだ。これをいかにしてオフィスっぽい雰囲気に改造するか。

それはまた今度ね。