Q-boのドットコード解析(拡張フォルダー)
2018年7月9日


 Q-boはドットコードでは5ビットでフォルダーを表していると書きましたが実はそれより上位のドットコードでも別のフォルダーを表せます。
 5ビットで表せるフォルダーは32ですがそりより上位の18ビットでもフォルダーを表せるのでフォルダーの数は32×262144でQ-boのドットコードでは8,388,608のフォルダーが定義できます。

7番目と8番目のドットコード



 ドットコードの7番目と8番目の数字で上記の橙部分を表しています。
 本文の説明同様、Q-boのぼうけんの最初のページの本文を例に説明します。
 このドットコードは4165-1616-0361-7252で有効な2ビットで表すと2032-0303-0130-3121となり上記に該当する数字は03となります。

 今回も4ビット2桁の数字を逆から読みます。
 30となり16進数で表すとCとなります。



 この部分の数字の変換は上記のテーブルを使います。(1番目と2番目の数字の変換に用いたものと同じ)
 C(12)に対応する値は4となります。

 この部分のパリティの計算は両方の数字のXORを計算して計算結果が0の場合、2として2の場合、0とします。
 1と3の場合は計算結果そのままの値です。

9番目と10番目のドットコード



 ドットコードの9番目10番目の数字で上記の橙部分を表しています。
 ロビのぼうけんのドットコードの場合2032-0303-0130-3121となり上記に該当する数字は01となります。

 4ビット2桁の数字を逆から読むと10となり16進数で表すと4となります。



 この部分の数字の変換は上記のテーブルを使います。
 4に対応する値は2となります。

 この部分のパリティの計算は両方の数字のXORを計算して9番目の値が1の場合、10番目と3のXORを計算して3の場合、10番目と1のXORを計算してその結果にします。
 0と2の場合は計算結果そのままの値です。

11番目と12番目のドットコード



 ドットコードの11番目12番目の数字で上記の橙部分を表しています。
 ロビのぼうけんのドットコードの場合2032-0303-0130-3121となり上記に該当する数字は30となります。

 4ビット2桁の数字を逆から読むと03となり16進数で表すと3となります。



 この部分の数字の変換は上記のテーブルを使います。
 3に対応する値は0となります。

 この部分のパリティの計算は両方の数字のXORを計算して12番目の値が1の場合、11番目と3のXORを計算して3の場合、11番目と1のXORを計算してその結果にします。
 2と4の場合は計算結果そのままの値です。

13番目と14番目のドットコード



 ドットコードの13番目14番目の数字で上記の橙部分を表しています。
 ロビのぼうけんのドットコードの場合2032-0303-0130-3121となり上記に該当する数字は31となります。

 4ビット2桁の数字を逆から読むと13となり16進数で表すと7となります。



 この部分の数字の変換は上記のテーブル(11,12番目と同じ)を使います。
 7に対応する値は4となります。

 この部分のパリティの計算は両方の数字のXORを計算して14番目の値が0の場合、13番目と2のXORを計算して2の場合、13番目と0のXORを計算してその結果にします。
 1と3の場合は計算結果そのままの値です。

15番目のドットコード



 ドットコードの15番目の数字で上記の橙部分を表しています。
 ロビのぼうけんのドットコードの場合2032-0303-0130-3121となり上記に該当する数字は2となります。



 この部分の数字の変換は上記のテーブルを使います。
 2に対応する値は0となります。

 この部分のパリティの計算は値が1の場合、3として3の場合、1とします。
 0と2の場合はそのままの値です。

最終的なフォルダー番号

 本編でフォルダー番号の下位5ビットは求めていますのでこれと合わせます。



 0×2097152+4×131072+0×8192+2×512+4×32+3×2+1=525447となりフォルダー名の下6文字と一致します。

本編に戻る