十六進数換算計算尺

十六進数換算・計算尺

ここで紹介する「十六進数換算・計算尺」は高木貞男様からお寄せいただいたもので、高木様の許可を得て紹介いたします。

高木様への連絡先はです。

簡単な紹介

高木様からお寄せいただいた簡単な紹介を引用します。

「十六進数換算尺は,70年頃に直線尺の形式で実用新案を取得したものです.その後,作成する都合上で円盤状にしました.当時は実際に使い重宝したものです.今では,真に16進数と対数の良い教材と思っています.」

なお、この文章は共立出版社の「bit」誌,1998年11月号に掲載されたものです。

原文を次に画像ファイルとして掲載します。

以下はこれの転載です。計算尺推進委員会によって書き加えられた部分は「追記」と題して記します。

実数も扱える十六進数換算・計算尺

ここに紹介するのは16進数と16進数のかけ算とわり算の結果が16進数で得られる「十六進数計算尺」と、16進数と10進数の変換が出来る「十六進数換算尺」である。

作り方

まずは次ページに作成キットがあるので作り方を説明する。

1. 次ページ(または次ページのコピー)のa, b, c, dの円盤を切り取る。厚紙で裏打ちすると良い。

2. aの上にbを重ね中心をハトメ、画鋲などでとめ、a, bが相互に回転できるようにする。これで「十六進数計算尺」の出来上がり。

3. cとdを同様にして「十六進数換算尺」の出来上がり。

追記

次のリンクのところに作成キットの画像を掲載します。

使い方

ここで書き方の取り決めをしておこう。

16進数は数字の後ろに「x」をつけ、10進数の後ろには「d」をつける。何もついていないときは10進数を表す。

追記

ブラウザによっては見にくいかもしれませんので、例を挙げておきます。例えば10x=16d=16です。

十六進数計算尺

計算尺の使い方を知っている方なら一目瞭然、全く同じ。

1. かけ算 例:2x×1Cx=38x

外側円盤(X尺)の目盛り2に内側円盤(Y尺)の目盛り1を合わせ、Y尺の目盛り1.Cに対応するX尺の目盛り3.8が積38xを表す。(次ページ右下の完成図参照)

2. わり算 例:3.8x÷1Cx=0.2x

X尺の目盛り3.8にY尺の目盛り1.Cを合わせ、Y尺の目盛り1に対応するX尺の目盛り2が商0.2xを表す。

3. ビットの左右シフト 例:38x←1Cx

X尺の2にY尺の1を合わせる。Y尺の1.Cに対応するX尺を見れば、それは1Cxを1ビット左へシフトした38xが得られる。また、X尺の3.8に対応するY尺を見れば、それは380xを1ビット右へシフトした1C0xが得られる。2ビットシフトの場合は、X尺の4にY尺の1を合わせ、同様にする。

4. 平方根 例:√(4x)=2x

円盤を回し、X尺の目盛り4に対応するY尺の目盛りとY尺の目盛り1に対応するX尺の目盛りの値が同じになる点を探す。2xが解となる。なるほど!んっ?待てよ、√(40x)は?こういう点は必ずもう1つあって√(40x)=8x

十六進数換算尺

1. 例:15d=Fx

外側円盤(X尺)の目盛り1に内側円盤(D尺)の目盛り1を合わせる。次にD尺の目盛り15に対応するX尺の目盛りFを見れば、15dの16進表示Fxが得られる。バカにするなと言われそうである。

2. 例:28x=40d

まずは位取りから。16進数2桁(10x~FFx)の時、内側円盤の位取り尺(N尺)の1(桁数-1)をX尺の1に合わせる。次にX尺の目盛り2.8に対応するD尺の目盛り4を見れば、28x=40dが得られる。16進数3桁(100x~FFFx)の時は、N尺の2をX尺の1に合わせてから目盛りを読む。

3. 例:0.8x=0.5d

まずは位取り。小数1桁目が存在する時(0.1x~1x)は、N尺の-1をX尺の1に合わせる。同様にして0.8x=0.5d

原理

1. 尺の目盛り

X, Y, D尺の目盛りは対数尺になっていて、log(p)の位置に目盛りPが、X尺・Y尺には16進表示Pxで、D尺には10進表示Pdで振ってある。具体的には、Px, Pdの目盛りの位置は360log16(p)=(360/log10(16))log10(p) [度]。以降、説明を簡略化するために(360/log10(16))を省略する。

2. 16進数の計算

p×q = rを計算するには、log(r) = log(p) + log(q)

p÷q = rを計算するには、log(r) = log(p) - log(q)

桁数は別に考慮する。

3. 16進数の変換

X尺、D尺の目盛りの位置は、表示形式(基数)にかかわらずlog(Px) = log(Pd) (= log(p))。一般にはPxが16進(n+1)桁、Pdは10進の(m+1)桁だが、X尺、D尺上の目盛りの値の範囲を1~16に限定してあるのでこれを正規化すると、log10(Px×16-n) = log10(Pd×10-m) - n×log10(1.6) + (m - n)となる。すなわち、D尺をX尺に対してlog10(1.6)の桁数(n)倍だけ左右にずらした背合わせ尺を使えばいいことになる。

4. ビットシフト(追記)

ある数を1ビット左にシフトするということは、その数に2を掛けるということになるので、掛け算の方法と照らし合わせると明らかでしょう。また、ある数を1ビット右にシフトするということは、その数を2で割るということになります。

また、X尺の2にY尺の1を合わせることで、Y尺の数字を左に1ビットシフトしたものがX尺の数字になるという対応表になっています。これはビットシフトが比例関係になっているからです。

5. 平方根の原理(追記)

たとえば√(4x)=2xを求める操作は、tに関する2次方程式t2=4xを解いていることになります。つまり、ある数tとその同じ数tを掛けることによって4xになるような、その数tを求めるということです。