ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
FAT16では、扱えるストレージの最大容量が2Giバイトまでという制限がある。これが2Gバイトの壁である。
またFAT32でも、扱えるファイルサイズの最大容量が2Giバイトまたは4Giバイトまでという制限があり、これも2Gバイトの壁である。
正確にはギガではなくギビ、つまり「2Giバイトの壁」と呼ぶべきだが、当時はまだGi(ギビ)という単位がなく、このように「2Gバイトの壁」と呼ばれていた。
FAT16では、クラスター番号を16ビットで指定する。ゆえに、最大でも216クラスターまでしか扱えない(実際には更に少ない)。
理論上、64セクター/クラスターが最大で、512バイト/セクターの場合は最大で2Giバイト(約2.1Gバイト)まで扱うことが可能である。但し、この場合は1クラスターの大きさが32Kiバイト(512バイト/セクターの場合)にもなり、実用的とは言いがたい。
FAT32では、ファイルサイズは32ビットの数値で表わされるため、232バイト、つまり4Giバイト(約4.2Gバイト)が限界となる。
プログラムにおいてファイルサイズを32ビットのintで得た時、符号付きのsigned intでは0x7fffffff(2,147,483,647)を超えるとマイナスの値となってしまうため、つまり2Giバイト(約2.1Gバイト)が限界となり、これを超えると誤作動する。
unsigned intとすることで倍の4Giバイトまでは扱えるが、この場合でもたかだか倍であり4Gバイトの壁となる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます