ほうれん草の胡麻和えは定番副菜.

申し込んでいたSun認定試験受験チケットが届く.
有効期限は1年ですが,夏のうちに受けようか?
それとも先に情報処理技術者試験を受けとこうか?
Java の勉強もぼちぼち.
ようやく Object 指向にも慣れてきました.
トップダウンに再統合をすすめて,古いルーチンはとりあえず,一枚被せてつなぐ.
後で本格的に改修する予定.
package 化も進行中.
なんていうかドキュメントも自分で書き始めてやっと,読み方が分かってきました(笑.
今 BS2 で紫髪の眼鏡みつあみソバカス関西弁の人みてるですが,どうしてもケロちゃんに聞こえてしまいます.

byte 型の最大値はなぜ 127 ?

「byte 型は 8 ビットの符号付整数であり,-128~127 の値をとる.」
ここで,なぜ最大値は “128” ではなくて “127” なのでしょうか?
初心者としてはこういうところが非常に気になります.
そして「これも覚えないといけないのか」と割り切れなさを感じてしまいます.
では,どうして “127” までなのか,について調べてみましょう.
ここで「コンピュータは 2 進数しか扱えない」ことを思い出してください.
つまり,”127″ と 10 進数で表示されている数字も,コンピュータの内部では, 2 進数で処理されているというわけです.
すなわち,byte 型が「8 ビットである」ことは「8 桁の 2 進数で表される」ことに他なりません.
「すると 8 ビットで表されるのは 2^8 = 256 なのでは?」
実は,その通りです.
ほら,「-128~127」は丁度 256 個の数字を表現していますね.
(1~127 で 127個,-1~-128 までで 128個,これに 0 の 1個を足して256個です.)
「それなら,byte 型を -127~128 とした方が,正の数が多くていいんじゃない?」
ところが,必ずしもそうとは限りません.
ここで,「8 桁の 2 進数」がどのように 10 進数に対応しているかを見てみましょう.
まず,「正の数か,負の数か」を表すための符号が必要になります.
これを 8 桁のうちの第1桁目とします.
すなわち,正の数は第1桁目を “0” とし,負の数は第1桁目を “1” とします.
正の数 -> 0xxxxxxx (例えば 00011101 など)
負の数 -> 1xxxxxxx (例えば 10110010 など)
こんな具合です.
そうすると,数字は残りの 7 桁で表すことになります.
10 進数の 0 ~ 127 までは次のように,2 進数と対応します.
2 進数 10 進数
0111 1111 127
… …
0000 0010 2
0000 0001 1
0000 0000 0
ここで,8 桁の 2 進数を 4 桁ごとに区切っていますが,これは見やすくするためです.
これは,綺麗に対応していますね.
では次に,負の数 -128~-1 はどのように対応させているのでしょうか?
「1 桁目が符号(±)を表しているのだから,残りの 7 桁が絶対値を表せばいい」
と考えてみるとどうでしょうか,すなわち,
2 進数 10 進数
1111 1111 -127
… …
1000 0010 -2
1000 0001 -1
1000 0000 -0
アレレ,”-0″ なんてモノができてしまいました.
しかも “-128” がありません.
となると 2 進数の “1000 0000” を 10 進数の “-128” を表すものとしましょう.
これらをまとめると次のようになります.
2 進数 10 進数
0111 1111 127
… …
0000 0010 2
0000 0001 1
0000 0000 0
1000 0001 -1
1000 0010 -2
… …
1111 1111 -127
1000 0000 -128
これは美しくありません.
特に “-128” がリズムを乱していますね.では,どうすればイイのでしょうか?
実際には,負の数は次のように対応付けられています.
2 進数 10 進数
1111 1111 -1
1111 1110 -2
… …
1000 0000 -128
すなわち,8 桁の 2 進数 “128~255” を,10 進数の “-128~-1” に対応させているのです.
正の数とあわせて次のようになります.
2 進数 10 進数
0111 1111 127
… …
0000 0010 2
0000 0001 1
0000 0000 0
1111 1111 -1
1111 1110 -2
… …
1000 0000 -128
このような対応付けには次のような利点があります.
1. 加算が自然である.
例えば,10 進数の “-1 + 3” を見てみましょう.
それぞれ 符号付 2 進数に置き換えて計算すると,次のようになります.
1111 1111
+) 0000 0011
1 0000 0010
ここで,9 桁目は無視されますから,答えは “0000 0010 = 2” となります.
先のもうひとつの対応付けでは,こうはいきません.
特に “-1” と “0” のつながりが自然です.
“1111 1111 = -1” に “1” を加えると, “1 0000 0000” になります.
ここで,9 桁目を無視すれば, “0000 0000 = 0” になるのです.
2. 符号付整数を普通の 8 桁の 2 進数とみても,正の数 “0~127” は変わらない.
これが,正の符号を “0” としている根拠です.
ただし,符号付整数 “-128~-1” は “128~255” になってしまいます.
このように,コンピュータの中では 10 進数は 2 進数に置き換えられ処理されています.
この対応付けから,自然と「byte 型は -128~127 の値をとる.」ことが理解できるかと思います.
更に一歩すすんでみましょう.
「byte 型の取りうる範囲は “-128~127″」でした.すなわち “-2^(8 – 1) ~ 2^(8 – 1) -1” ということになります.
これを一般化すると次のようになります.
「n ビットの符号付整数の取りうる範囲は “-2^(n – 1) ~ 2^(n – 1) -1” である.」
JAVA には次の整数型がありますが,実際に調べてみてはいかがでしょうか.
変数型 bit数 範囲
short 16 -32,768 ~ 32,767
int 32 -2,147,483,648 ~ 2,147,483,647
long 64 -9,223,372,036,854,775,808
~ 9,223,372,036,854,775,807
桁が多くなると,何が何だかわからないので整理すると,
int 32 -2 x 10^9 ~ 2 x 10^9 (= 約20億)
long 64 -9 x 10^18 ~ 9 x 10^18
黙々と暗記するよりも,その理由を知ることが,より深い理解につながるのではないかと思います.
そんなことを思い,この文章を書いてみました.

アイスラッガーを受け損なった某仙人のような断末魔を残して,読子さんはそのまま死んでしまいました(おわり) (c)倉田英之.

読了:倉田英之,R.O.D 外伝 vol.10
田丸浩史「スペース・アルプス伝説」を久しぶりに読んだら,後書きに倉田先生の寄稿が.
こないだウナギを食べる前に,「ニア アンダー7」を読みました.
大切な何かより,ウナギ.
ウナウナ.
職場でノートパソコンのバックライトが逝ったもよう.
しかも,Gateway.
というわけで,17インチCRTをつなげる.
そして,CRTを取られたWindows端末は,私のノートパソコン(私物)から VNC で制御することに.
これで,ディスプレイなし PC が 3 台に...

次は何を読もうかソウヤー

R. ソウヤーは,突っ込みどころも多いですが,読ませますねぇ.
ここは一つ飲まれてみようと思います.
何冊か買う予定です.
明日から土日はお盆のため,実家に帰ってます.
今回はその間更新をしないです.
ケータイPic は気が向いたら.

今日は朝6時から30℃↑

超勤手当不足が数十億円に 国立大病院、支払い見送りも(朝日)
職場の大学では教員(旧 教官)は裁量労働制でいいでしょうが,教務職員は定時の上に超勤ナシです.
なので最近は定時に帰ってますけど.
今現在,大学では助手や旧技官の定員削減がすすんでいます.
このままいくと現員削減がはじまるらしい.
今でも教員のうち,4割くらいが教授でしょうか.
学部学科によっては5割以上とも.
これって普通の会社でいえば,4割が部長クラスということですよね.
えっと,企業が潰れる寸前の状態に似ているのでは?
1年後くらいに他の大学と統合するのですが,それまでこの調子で行くのかな.
これまで改革を行わなかった/行えなかったツケが,大学運営に責任のない助手や旧技官に回ってきているように思えてなりません.
既にリストラがすすんでいる事務系でも,改革の遅れに対する不満が大きいようです.
任期残り数年の教授にとっては,このまま改革が進まなければ,公務員時代の待遇のままの給与・退職金で定年を迎えられるからなぁ.とか邪推もしてみたり.
教授の先生方に,給与の数%分くらいの責任感があれば,助手も職員も削減幅を大きく減らせるのではないでしょうか.
理由は色々.
・これまで改革できなかった責任.
・将来の教授数削減or給与削減の前倒し.
とか.
こういうことを教授会で提案してる先生はいないのかなぁ.
この延長のままで行くと,将来は自立できない大学になってしまいますよね.
(助教授や講師も大学内で調達できないので,大部分を他大学から募集せざるを得ない.)
top30 からの天下りの受け皿大学に成り下がらなければいいと願います.
以上はグチでした.
正確なデータに基づいているわけではありませんので悪しからず.
毒を吐き終えたところで,
宇宙行きのエレベーター,15年後実現に向け開発進む
原文?The Space Elevator Comes Closer to Reality
いきなり15年後,っていうのも節操がなくて好きです.
「楽園の泉」では地上から建造ではなくて,糸を降ろす方式でしたよね.
でもそうすると大気のない(薄い)星で作るほうが簡単そう.
月でまず作ってみる,ってのはどうでしょうか.
それとも月ならリニア カタパルトの方が簡単なのかな.

一山越えて

本日めでたく LPI 102 試験に合格!
んで,Level 1 取得です,オメデトー自分!!.
BSマンガ夜話の後半のみ録画で視聴.
「Beck」,「ボーダー」どちらも見てないし,あまり読んでみようとは思いませんでした.
がしかし,レギュラー陣+ゲストの話はおもしろかったですね.
Beckでのマイクから距離感とか,歌っている姿勢とかで,声がイメージできるってのがマンガの魅力でしょうか.でしょうね.

サポート終了の悲しさ

(前日から続く)と思ってたら,apache 2.0.49 以下にも穴.
こちらは,RedHat 9 用のパッチが出ていません.
legacy の方も.
私の責任は今年の 3月で終わってるので,後はパッチが出るまで静観.
ということで,とりあえず求人情報の web サーバを停止することに.