TiB を B に変換

TiB
1099511627780B

1 TiB = 1099511627780 B

値を入力すると、テビバイトからバイトへの計算が入力に合わせてその場で進みます。1 TiB あたり 1099511627780 B.この比は測って求めたものではなく、定義で決まっています。計算はお使いの端末の中で行われ、入力した数字が通信に乗ることはありません。ただし、そのまわりのページのほうは、ほかのどのページとも同じように広告を読み込みます。

  • 処理される場所 ブラウザーの中です。入力した数値がリクエストに含まれることはありません。
  • 定義として厳密 1TiBはちょうど1099511627780Bです。丸めた係数ではなく、定義です。
  • 入力と同時に答えが出ます ボタンも待ち時間もありません。計算例はスクリプトが動く前からページに載っています。

テビバイトからバイトへ — 実際のところ

  • 1 TiB is 1100000000000 B

    — 1.1 TB のディスクに入る量、システム側の単位で.

  • 16 TiB is 17590000000000 B

    — 小さなサーバーラック 1 本.

  • 0.000004547 TiB is 5000000 B

    — スマートフォンで撮った写真 1 枚.

  • 9.313e-10 TiB is 1024 B

    — 1 キビバイト、ややこしさはここから始まる.

テビバイトからバイトへ — 要点

ここに並ぶ数値は、上の計算機と同じ定義から計算しています。だから表が答えとずれることはありません。
TiBB
11099511627780
22199023255550
55497558138880
1010995116277800
5054975581388800
100109951162778000
500549755813888000
10001.09951162778e+15

テビバイトとバイト

1 テビバイトは 1,024 ギビバイトです。テラバイトとの隔たりは階段を上がるごとに開いていきます。キロで 2.4 %、メガで 4.9 %、ギガで 7.4 %、テラで 10 %。

1 バイトは 8 ビットですが、いつもそう決まっていたわけではありません。初期の計算機は 6 ビット、7 ビット、9 ビットを使っていました。8 が勝ったのは、そこに 1 文字が収まり、しかもその数がきれいに半分ずつ割れるからです。

テビバイト 1 つはちょうど 1,099,511,627,776 バイトです

こちら向きの計算は掛け算で、しかも整数です。テビバイト 1 つはちょうど 1,099,511,627,776 バイト。この 1,099,511,627,776 は近い値に落ち着いた測定値ではなく、定義です。

だからこれは、暗算する価値のある数少ない計算のひとつです。検算もできます。割り戻せば、始めた数にきっかり戻るはずです。余地はいっさい残りません。

TiBは二進の単位です

TiB 1 つはひとつ下の単位の 1,024 倍で、TB 1 つは 1,000 倍です。このページでは 1099511627776 B と 1000000000000 B の差——10 %——になり、段を上がるごとにこの隔たりは開いていきます。写真 1 枚では丸め誤差でしかないものが、ハードディスクでは目に見える割合になるのはそのためです。

「容量が消えた」という話の中身は、これだけです。TB で売られたディスクには、書いてあるとおりのバイト数が入っています。それを 1,000 ではなく 1,024 で割り、名前は TB のまま表示しているのが Windows です。macOS は 10.6 以降ディスクの容量を十進の単位で数えているので、同じディスクが 2 台のパソコンで違う大きさに見えることがあります。減ったものはなく、丸めているのでもありません。同じバイト数に、名前が 2 つあるだけです。

文字どおりの数字——1,099,511,627,776 と、正しく打ち込めたかの確認

1 テビバイトは 2 の 40 乗です。書き出すと 1,099,511,627,776、しがみつける繰り返しのない 12 桁で、まさに 1 桁タイプミスしてもレビューをすり抜けてしまう種類の定数です。誰もそれを読まないからです。これはまた静かに失敗する種類でもあります。10 倍ずれた上限も、設定ファイルの中ではもっともらしい数字に見えます。

防御策は、周囲の言語が計算できる場所では決して裸のリテラルとして書かないことです。1024 * 4 や 1024 1024 1024 1024 は読みやすく、自己検証的で、それでも構文が通ってしまうような打ち間違いができません。形式が数値しか受け付けない場合は、同じ行にコメントで導出過程を書いてください。次の人が桁を数えなくてもその定数を確認できるようにするためです。

テビバイト規模のバイト数がどこで収まらなくなるか

12 桁は 64 ビット整数には余裕で収まり、2,147,483,647、2 GiB弱で頭打ちになる符号付き 32 ビット整数には余裕で収まりません。この天井が、古いソフトウェアの多くが大きなファイルをまったく扱えなかった理由であり、今もファイル形式や INT として宣言された(BIGINT ではない)データベース列、通過中に静かにサイズを狭めてしまう API に現れます。

より捉えにくい天井は浮動小数点です。倍精度浮動小数点は 2 の 53 乗、つまり 9,007,199,254,740,991 バイト、8,192 TiB まで整数を正確に表現します。テビバイトの数字はそれよりはるかに小さく完全に安全です。JavaScript が解析する JSON 文書の中のペタバイト規模の合計は、そのすぐ近くにあり考える価値があります。失敗はエラーではなく、末尾の桁が変わった数字だからです。

テビバイトの倍数を計算する

係数が 2 のべき乗なので、すべての整数倍は正確で導きやすいものです。2 TiB は 2,199,023,255,552 バイト、4 TiB は 4,398,046,511,104、10 TiB は 10,995,116,277,760 です。半分や 4 分の 1 も正確です。0.5 TiB は 549,755,813,888、0.25 TiB は 274,877,906,944 で、これがクォータが 10 刻みではなく半分刻みで設定されがちな理由の一つです。

対照的に、3 分の 1 テビバイトは整数バイト数ではなく、10 分の 1 ギビバイトもそうではありません。クォータをきりの良い 10 進法の分数にする必要がある場合、それはブロック境界の間に着地し、設定に書き込まれる数字は丸められたものになります。それはたいてい無害ですが、常に知っておく価値があります。それが、正確に推論できる上限と、おおよそ意図どおりの上限との違いだからです。

設定ファイルの中で TiB と TB を隔てる 9 パーセント

1 テラバイトは 1,000,000,000,000 バイト、1 テビバイトは 1,099,511,627,776 バイトです。どちらかを意図してもう片方を書くと、上限は本来あるべき位置からおよそ 9 パーセントずれます。何も文句を言いません。クォータは適用され、ルールは動作し、その食い違いは早く発火するアラート、予測より早く満杯になるバケット、ダッシュボードと一致しない請求書として現れます。

これが、ファイルに書き込む価値があるのはバイト数で、単位は隣のコメントに書く価値がある理由です。1099511627776 という値に「1 TiB」という注記を添えたフィールドは誰でも確認できますが、「1TB」というフィールドはそうはいきません。まずそれを読むソフトウェアが TB を何だと考えているかを確認する必要があり、その答えは 1 台の機械の中のツールごとに異なります。

マニフェスト、チェックサム、ライフサイクルルールの中のバイト数

オブジェクトを検証する何かは、たいていダイジェストの隣にその長さを記録し、その長さが検証に意味を持つには正確なバイト数でなければなりません。「1.1 TB」と保存されたマニフェストは表示用の文字列を記録しただけで、測定値ではありません。それに対して確認する復元処理は、ファイルがおおよそ正しいサイズであることしか確認できず、それはまさに最後のブロックでの転送切れを見逃してしまう種類の確認です。

ライフサイクルや保持ルールも別の理由で同じ要件を持ちます。ダッシュボードのように丸めることのない機械によって評価されるからです。サイズしきい値を超えたオブジェクトを移行するルールは生の長さを比較するので、親しみやすい数字として入力され途中のどこかで変換されたしきい値は、意図とわずかに異なるオブジェクト集合を選び、その差は 1 か月後のストレージ請求で初めて見えてきます。

ログと JSON を通じて数字を無傷に保つ

バイト数がパイプラインを生き延びるのは、すべての段階がそれを整数として扱う場合だけです。壊すのは読みやすさのために整形する段階です。1.1e12 と印字するロガー、平均を取る集計処理、その列を浮動小数点として取り込む表計算ソフト。それぞれ単独では合理的でも、組み合わさると下位の桁が失われ、そのあとではどんな下流のチェックも完全一致とほぼ一致を区別できなくなります。

ほとんどすべてを防ぐ習慣が二つあります。生の個数を専用のフィールドに保持し、人間が読む版は別の、明確に導出されたものにして、ラベルから数字を解析し戻すことは決してしないでください。文書形式に確実性を保証できるだけの大きさの整数型がない場合は、数字を文字列として保持してください。それはバイト数であり、転送中に演算されることは決してなく、文字列は静かに広がったり狭まったりしません。

間違ったテビバイトの数字を捕まえる妥当性確認

テビバイトの範囲のバイト数は、単一の TiB 値であれば 13 桁あるはずで、その桁数だけでも一目で桁のずれのほとんどの誤りを捕まえられます。もう一つの手早い確認は先頭の桁です。テビバイトの正確な倍数はすべて 1099、2199、3298、4398 と続きます。同じ 1.0995 が繰り返されているだけだからです。ですからきれいな 1,000 で始まる数字は、ほぼ確実にテラバイトから導かれたものです。

自動化されたものについては、定数がハードコードされた 12 桁のリテラルと等しいことではなく、1024 の 4 乗と等しいことを確認するアサーションを書く価値があります。前者は間違えようがなく、後者は自分が確認する対象の複製で、確認する値の複製を持つテストは、その値が両方の場所で同時に打ち間違えられた日にも通ってしまいます。フィクスチャにも同じことが言えます。バイト数を持つフィクスチャは、本番コードが使うのと同じ式からそれを導出すべきで、そうすれば二つが静かにずれていくことはありません。

TiB を B に変換:よくある質問

1 TiB は何 B ですか。

1 TiB は 1099511627780 B.画面に出しているのは有効数字 12 桁までです。テビバイトとバイトの比そのものは定義によって決まっている厳密な値で、丸めが入るのは表示のところだけです。

入力した値はどこかへ送られますか。

いいえ。計算はブラウザーの中で行われます。通信を切ったままでも計算は続けられますし、それがいちばん手軽な確かめ方でもあります。

買ったディスクの容量が、書いてある数より少なく表示されるのはなぜですか。

同じ名前の単位が 2 つ動いているからです。メーカーは 1 GB を 1,000,000,000 バイト(10 億バイト)として数えます。一方 Windows が表示しているのはギビバイト、つまり 1,073,741,824 バイトで、それを「GB」と呼んでいます。同じディスクが 7 パーセントほど小さく見えるのはこのためです。消えたものは何もありません。

逆方向:バイトからテビバイトへ

1Bは9.09495e-13TiBです。同じ関係を逆から読んだだけなので、一方のページの答えをもう一方に通せば、必ず元の値に戻ります。

この数値の出典

このページがデータ量の単位について述べていることは検証できます。根拠となる資料は次のとおりです。

このページの仕組み

係数はページ内の定数で、計算は四則演算だけです。だからどこにも送信されませんし、送信する必要もありません。入力した数値はブラウザーから出ません。運ぶためのリクエストが存在しないからです。