半蔵門御散歩雑談/ODR Pickups

株式会社ODR Room Network

このブログは、株式会社ODR Room Networkのお客様へのWeekly reportに掲載されている内容をアーカイブしたものです。但し、一部の記事を除きます。ODRについての状況、国際会議の参加報告、ビジネスよもやま話、台湾たまにロードレーサーの話題など、半蔵門やたまプラーザ付近を歩きながら雑談するように。

32767

32767【半蔵門ビジネス雑談】20180628

 

32767。

この数字でピンとくる人は、バブル期くらいのプログラミング経験者の可能性が高い。

 

これは16ビットマシンでプログラミングする際、16ビットで表現できる数値の最大値。データを扱うためにテーブルと呼ぶメモリ上の配列を使った際に、テーブルの何番めかを示すインデックスを使うときの16ビットで扱えるインデックス値の上限を表す数字だ。

ちょっとわかりにくいかもしれないが、下の表で、右列がビット数、左列がそのビット数で表すことができるデータの数。1ビットなら1種類、3ビットなら4種類、8ビットなら128種類、そして16ビットなら32768種類の数値を表現できる。コンピュータ内部では、0から始まるので、32768種類で表せる最大の数値は、32767ということになる。

1 1
2 2
4 3
8 4
16 5
32 6
64 7
128 8
256 9
512 10
1024 11
2048 12
4096 13
8192 14
16384 15
32768 16

例えば、8192種類の数値を格納したりして扱いたければ、14ビットが必要になる。

データを入れる場所を、32768用意してデータを出し入れするためには。テーブル[N番目]に何かの値を入れることになる。何番目に入っているかを示すNがインデックスだ。

16ビットマシンで、32767までカウントして、あと1を加算すると、32768になるが、これはコンピュータ上では、2進数の10000000000000000となり、16ビットでは繰り上がった1が溢れてしまいコンピュータが認識できる値は、0000000000000000となり、正しいテーブルの場所を示せなくなってしまうのだ。それによりプログラムが誤動作してしまうことも頻繁だった。

だから32ビットマシンが登場した時は、「これでもう数値の限界を考えなくてもよい」(本当は単に制限値が大きくなっただけなのだが)と喜んだものだ。

 

そして時代は変わって21世紀も18年を過ぎた。

Macでは32ビットが過去のものになろうとしている。

 

Macで一部アプリが使えなくなる!どのアプリが使えなくなるか確認する方法は?

flipboard.com

Apple社は、High Sierra10.13.4以降では、32ビットのアプリケーションはApp Storeに登録できなくなる。そしてすでに、32ビットアプリケーションを動かそうとすると警告がでる。

f:id:emandai34:20180414235303p:plain

これはBlackberryのユーティリティを動かそうとしたときのメッセージだ。このアプリケーションは32ビット対応なので、警告が表示される。他にも多くのアプリケーションが32ビットなので、警告される。方策としては、そのアプリケーションの64ビット版を持ってこないといけない。おそらく次期バージョンでは、動作しなくなると見込まれている。