単位自体は で定義されます SIパンフレット、およびこの特定の引数を引き起こすバイナリ接頭辞 - kibi、mebi、gibi - in IEC 80000-13。
24 バイトのバグを出荷したことがあります。 Laravel アプリでのストレージ クォータ チェックでは、アップロードされたファイルのサイズと、製品チームが「500 MB」と書いた制限と比較した場合と比較しました。アップロード者は、10 進数の MB で制限を適用しました。 2 つのギャップは約 4.6% で、テストでは見えず、顧客の 512,000,000 バイトのエクスポートが「大きすぎる」と「大規模」で拒否された場合に非常に目立つように見えますが、UI は制限を下回っていると主張します。
単位変換は、黙って何かを壊すまで、コンピューティングにおいて最も退屈な問題のように見えます。 すべての変換には正確に定義された係数があります - 1 インチは 正正と 0.0254 メートル、1 ポンドは 正正と 0.45359237 キログラム - そして、それらを間違える理由は、代わりに丸みを帯びた近似を持ち歩くためです。それで私はを構築しました ユニットコンバーター [Toolz.dev] (/ 定義された値を中心に、ほとんどのコンバーターが無視するものを含む、実際に到達する 11 のカテゴリをカバーします: CSS ピクセル、活版印刷ポイント、バグの原因となった 2 進数と 10 進数のデータ単位。
tl;dr: 圏のすべての単位は 1 つの基底単位の固定倍数であるため、変換は単一の乗除法です。ただし、摂氏、華氏、ケルビン、ランキンのゼロ点が異なるため、アフィン変換が必要な温度を除きます ユニットコンバーター 長さ、重量、温度、面積、体積、速度、時間、圧力、エネルギー、角度を正確な標準係数でカバーし、すべてのユニットで一度に値を表示し、ブラウザーで完全に実行します。
ユニット変換は実際にどのように機能しますか?
カテゴリごとに 1 つの基本ユニットを選択します。 他のすべてのユニットをそれに対する比率として表現します。 変換は、1 行の算術に縮小されます。
result = value × (fromUnit.ratio / toUnit.ratio)
長さの場合、ベースはメーターです。 センチメートルの比率は 0.01、インチは 0.0254 です。 30 cm インチに変換するのは 30 × 0.01 / 0.0254 = 11.811。 これがアルゴリズム全体であり、有用なプロパティがあります。すべての変換ルートは基本単位を経由するため、近似を連鎖させることはありません。 マイルを海里に変換すると、マイル → メーター → 海里は、それぞれ独自の丸めを持つペアワイズ ファクターのルックアップ テーブルではなく、1 つの式で行われます。
の基本ユニット ユニットコンバーター シのものは、それらが存在する場所です: メートル、キログラム、2 番目、パスカル、ジュール、ラジアン、平方メートル、メートル/秒。 ボリュームはリットルを使用し、データは厳密な SI 純度ではなく、読みやすさのためバイトを使用します。
温度はモデルを破る例外であり、その理由を理解する価値があります。
温度が他のユニットと異なるのはなぜですか?
温度計は アフィン、ない 比例した. ゼロセンチメートルとゼロインチは同じ長さ - 何もありません。しかし、ゼロ摂氏とゼロ華氏は同じ温度ではなく、どちらも " 温度はまったくありません。 "スケールには、異なるステップサイズと異なる原点の両方があります。
つまり、温度変換には 1 つではなく 2 つの操作が必要です。原点をシフトしてから、スケーリングします。 標準式:
- °F = (°C × 9/5) + 32
- °C = (°F − 32) × 5/9
- k = °C + 273.15
- °R = k × 9/5
内部的にはコンバータは、ケルビン、物理的に意味のあるゼロ - 絶対零度、熱運動が停止するポイントを持つ4 つのうちの唯一の1 つを介して、すべてをルーティングします また、自由な妥当性チェックを与える: 変換が負のケルビン値を生成する場合、入力は絶対零度を下回っており、実際の温度ではなく、ツールは、あなたが信頼することができますツールを分離する小さな正直の種類であるナンセンスを自信を持って返すのではなく、説明でそれを拒否します 再確認する必要があります。
人々が実際に調べた数字のクイック リファレンス:
| 摂氏 | 華氏 | ケルビン | なにそれ |
|---|---|---|---|
| −273.15 °C | −459.67 °F | 0k | 絶対ゼロ |
| -40 °C | -40°F | 233.15 k | 2 つのスケールが交差する場所 |
| 0 °C | 32°F | 273.15 k | 水が凍る |
| 20℃ | 68°F | 293.15 k | 室温 |
| 37℃ | 98.6 °F | 310.15 k | 人体 |
| 100℃ | 212 °F | 373.15 k | 水は海面で沸騰します |
-40 クロスオーバーは、覚えておく価値のあるものです。 これは、Celsius と Fahrenheit が同意する唯一のポイントであり、あなたが書いた変換ルーチンに正気をチェックします。
MB と MIB の違いは何ですか?
これは、実際のお金と実際のバグ探しにかかる変換であるため、独自のセクションに値します。
あ メガバイト (MB) は 1,000,000 バイト - 小数単位、106 です。 A メビバイト (MIB) は 1,048,576 バイト - バイナリ単位、2²0 です。バイナリ プレフィックス (kibi、mebi、gibi、tebi) は、曖昧さをなくすために 1998 年に IEC によって正確に標準化され、業界の約半数がそれらを無視しました。
その結果、誰もが感じた混乱が生じます。
| 宣伝された | 実際のバイト数 | OS が示すこと | 明らかな「損失」 |
|---|---|---|---|
| 1KB | 1千 | 0.98キブ | 2.4% |
| 1MB | 1,000,000 | 0.95 MiB | 4.6% |
| 1GB | 1,000,000,000 | 0.93 ギブ | 7.4% |
| 1TB | 1,000,000,000,000 | 0.91 tib | 9.9% |
ドライブメーカーは、小数では、数字が大きくなるため、小数単位で販売しています。 Windowsはバイナリ単位で報告しますが、ラベル付けします " GB, " これはどこにあります " 私の1 TBドライブは931 GB" 苦情はから来ます - 何も欠けていない、ラベルは間違っているだけです。 macOSとほとんどのLinuxツールは、正直に小数GBを報告するようになりました.RAMは、メモリアドレス指定が本質的に2 の累乗であるため、常にバイナリです.ネットワーク速度は小数です あんど 3 番目の混乱軸であるビット単位で測定: 「100 Mbps」接続は、100 ではなく、1 秒あたり約 12.5 Mb を提供します。
私が従う実践的なルール:
- コードで、働く バイト。 表示レイヤーのみに変換します。
- 仕様で制限を記述する場合、バイト数を括弧で「500 MB (500,000,000 バイト)」に書きます。
- API 契約が MB と表示されている場合は、ラベルが Windows の外で意味するため、小数点を選択してください。
- 他のシステムがあなたのシステムに同意するとは決して思いません。 チェック。
ザ・ ユニットコンバーター 両方のファミリをデータ カテゴリに並べてリストするため、ギャップを推測するのではなく、ギャップを確認できます。 生バイト値を使用していて、ビットレベルで表示したい場合は、 バイナリ トランスレータ は、コンパニオン ツールです。
人々が実際に必要とする変換はどれですか?
何が検索され、自分が何を自分に到達したかを見た後、リストは短く、予測可能です。 寒さを知る価値のあるものは次のとおりです。近似値ではなく、正確な係数を使用します。
| 転向 | 正確な係数 | 簡単なメンタル数学 |
|---|---|---|
| CM → 中 | ÷ 2.54 | 半分にしてから 20% を引く |
| 中 → CM | ×2.54 | 2 倍にすると 25% 追加 |
| km → ミ | × 0.621371 | 0.6 を掛けて、少し足してください |
| み → km | × 1.609344 | 60% 追加 |
| kg → lb | × 2.20462262 | 2 倍にすると、10% を追加 |
| ポンド→kg | × 0.45359237 | 半分にして、10% を引く |
| °C → °F | × 1.8 + 32 | 2 倍にして、30 (大まかに) を追加します。 |
| km/h → mph | × 0.621371 | km → mi と同じ係数 |
| L → USギャル | ÷ 3.785411784 | 4で割って少し足す |
| MB → MIB | ÷ 1.048576 | 約 4.6% を差し引く |
the mental-math column is pertainly rough - good enough to sanity-check a result, not good enough to ship. the distinction matters: "double it and add 10% " turns 70 kg into 154 lb, which is right to within a gram.しかし、2,000 kgの積荷に適用するとドリフトし、投与量の計算に適用すると受け入れられません。ヒューリスティックを使用して間違った桁をキャッチします。; 実際の答えには正確な係数を使用します。
これらの変換係数は正確か丸みですか?
正確であり、これは思ったよりも興味深い事実です。
1959 年の国際ヤードとポンド協定以来、帝国ユニットは 定義した メートルのものに関しては。 inch is not measured against the meter; it is declared to be exactly 0.0254 m. The pound is exactly 0.45359237 kg. the US gallon is exactly 3.785411784 L. これらの数字には実験的な不確実性はなく、1分間に60秒あるという事実のような定義です。
同じことがカテゴリー全体で当てはまります。
- 1 エーカー = 4046.8564224 m² (正確に)
- 1 psi = 6894.757293168 PA (正確には、ポンドとインチから)
- 1 BTU = 1055.05585262 J (国際表の定義)
- 1 kWh = 3,600,000 J (正確には、1 ワットは 1 秒あたりのジュールであるため)
- 1 海里 = 1852 m (正確には、1929 年の国際協定により)
いくつかの単位は定義ではなく、本当に慣習であり、正直なツールはそう言う。 "Month" は固定量ではない - コンバータは、何かを選択する必要があるため、30 日を使用し、 " year" の365 日は閏年を無視する マッハは、気温と気圧に依存する; コンバータは、海面数値約343 m / sを20 °Cで使用する 名目上の因子の代わりに正確な日付算術が必要な場合は、を使用します 日付差分計算、これは、30 倍ではなく、実際の暦日をカウントします。
ザ・ ユニットコンバーター 定義された値を格納し、次の値のみをラウンドします。 表示、8 桁の有効数字まで。 算術自体は完全な倍精度で行われるため、連鎖変換は目に見える誤差を蓄積しません。
CSS ピクセルをミリメートルに変換できますか?
はい、これは私がフロントエンド開発者として最もよく使用するコンバージョンの 1 つです。そのため、物理ユニットと並んで長さのカテゴリにあります。
CSS 仕様は、 参照ピクセル 1/96 インチとして。これにより、96 px は正確に 25.4 mm、つまり 1 px ‣ 0.2646 mm になります。また、px と pt の関係 (活版印刷のポイント、1/72 インチ) が固定されることも意味します。1 pt = 1.333... px、および 12 pt = 16 px。これが、16px がすべてのブラウザのデフォルトの本体フォント サイズである理由です。これは 12 ポイントのテキストです。
はっきりと言う価値のある警告: これは 参照 ピクセルで、デバイスのピクセルではありません。 高 DPI ディスプレイでは、1 つの CSS ピクセルが 2 つまたは 3 つの物理ピクセルにマッピングされます。 電話機では、ビューポートのスケーリングによって関係が再び変更されます。 つまり、印刷デザインを Web レイアウト (A4 ページの幅は 210 mm、つまり 793.7 css px) に最適な PX → MM は、まさに正しいです。これは、Retina スクリーンで実際に目に見えるものについて話している場合、物理的な真実ではなく、有用な近似値です。
レイアウトとデザイン トークンを構築している場合、この変換と、 カラーピッカー デザイナーの印刷指向仕様と CSS 実装の間の翻訳作業のほとんどをカバーしています。
よくある使用例
開発と DevOps。 ファイル サイズの制限、ストレージ クォータ、キャッシュ サイズ、帯域幅の予算。 MB/MIB の区別は、噛むものであり、間違った番号がエラーをスローする代わりに、有効なリクエストを黙って拒否する場所で噛みつきます。
フロントエンドとデザイン ハンドオフ。 デザインが印刷物指向のツールから生まれたとき、または表示して印刷されるものを作成する場合の PX、PT、MM、およびインチ。
料理とレシピ。 米国のカップ、大さじ、オンス対グラム、ミリリットル。ここでの体積換算は米国の慣例であることに注意してください。英国のパイントは 568 ml ですが、米国のパイントは 473 ml であり、20% の差が多くのケーキを台無しにしているため、インペリアル パイントとガロンは別のエントリです。
旅行と日常生活。 キロメートルに、キロメートルからポンド、摂氏から華氏まで、リットルからガロン。 非魅力的なユニット コンバータ トラフィックと、その理由により、ツールがデフォルトで、設定を行うのではなく、カテゴリごとに賢明なペアになります。
科学と工学。 圧力、psi、バー、パスカルの圧力、ジュール、カロリー、kWh、BTU のエネルギー、度数、ラジアン、グラディアンの角度。 SI ペーパーとインペリアル データシートの間を移動する場所ならどこでも。
フィットネスと栄養。 キロカロリー (食品ラベルの「カロリー」は、実際にはキロカロリーである) に、キロカロリーからポンド、石、キロメートルからマイルまでの計算。 単位ではなく、日次目標のパーセンテージを変換する場合、 パーセンテージ計算 ワークフローの残りの半分です。
どのブラウザベースのユーティリティが手の届くところにあるかをより広範に調べるために、私が毎日使用しているものを収集しました。 Web 開発者のツールキット。
ブラウザベースのコンバーターが重要なのはなぜですか?
ユニットコンバーターの場合、プライバシーに関する議論は、たとえば PDF ツールよりも弱いです。30 cm をインチに変換したことを知っても、誰もあなたを危険にさらすことはありません。しかし、2 つのことが依然としてクライアント側の実行を適切なアーキテクチャにしています。
1つ目はスピードです。 往復はありません。 ネットワーク全体ではなく、数マイクロ秒離れたところで算術が発生するため、キーストロークごとに結果が更新されます。 入力をデバウンスし、スピナーが頭の中で乗算を行うよりも遅いことを示すサーバー バック コンバーター。
2 つ目は、他に何もないときに動作し続けることです。ページを一度読み込むと、オフラインで実行されます - 飛行機、電車、ゲストWiFiのないデータセンター、ネットワークがあなたを嫌う会議室。 [Toolz.dev] (/) 上のすべてのツールは意図的にこのように構築されており、その選択の背後にある理由 - それが本当にあなたを保護するツールのために - にレイアウトされています データがブラウザーから離れてはならない理由。
フェイク
cm をインチに変換するにはどうすればよいですか?
1 インチは正確に 2.54 cm と定義されるため、センチメートル数を 2.54 で割ります。 つまり、30 cm÷2.54 = 11.811 インチ、100 cm ÷ 2.54 = 39.37 インチです。 この関係は、1959 年の国際ヤードとポンド協定によって定められた測定値ではなく、定義であるため、概算ではなく正確です。
kg を lbs に変換するにはどうすればよいですか?
1 ポンドは正確に 0.45359237 kg と定義されているため、キログラムに 2.20462262 を掛けます。これにより、70 kg は 154.32 ポンドに相当します。メンタルショートカット - 2 倍にして 10% を追加 - は 1 ポンドの何分の 1 以内に収まり、健全性チェックには問題ありませんが、出荷重量や投与量の計算など、正しくなければならないものには正確な係数を使用します。
摂氏を華氏に変換する式は何ですか?
°F = (°C × 9/5) + 32。 つまり、25 °C は 77 °F、100 °C は 212 °F です。 逆にするには: °C = (°F − 32) × 5/9。 温度には乗算とオフセットの両方が必要です。これは、1 つの乗数で十分な長さまたは重みとは異なり、2 つのスケールが異なるゼロ点を有するためです。
MB と MIB の違いは何ですか?
メガバイト (MB) は 1,000,000 バイトですが、メビバイト (MiB) は 1,048,576 バイト、つまり 1024² です。その差は約 4.6% で、ステップアップするたびに大きくなります。ギガバイトとギビバイトは 7.4% 異なります。ドライブ メーカーは 10 進数の MB と GB で宣伝していますが、Windows は 2 進数の単位でレポートしますが、GB とラベルを付けています。そのため、1 TB ドライブはおよそ 931 GB と表示されます。何も欠けていません。2 つのシステムは単に異なる方法でカウントされます。
1マイルは何キロですか?
1 マイルは正確に 1.609344 キロメートルであるため、1 キロメートルは約 0.621371 マイルです。 5 km のランは 3.107 マイル、10 キロは 6.214 マイル、マラソンは 42.195 km で 26.219 マイルです。 同じ 0.621371 係数は、1 時間あたりの距離に同じ比率で適用されるため、km/h に km/h に変換します。
変換係数は正確か概算ですか?
これらは、国際規格から正確に定義された値です。1 インチ = 0.0254 m、1 ポンド = 0.45359237 kg、1 US ガロン = 3.785411784 L、1 海里 = 1852 m。表示される結果のみが四捨五入され、有効数字 8 桁になり、エラーが発生することなく出力が読み取れるようになります。少数の真の従来型ユニット - "month" 30 日として、海抜のマッハ - はそのようにラベル付けされます。
CSS ピクセルをミリメートルに変換できますか?
はい。 CSS 仕様では、参照ピクセルを 1/96 インチと定義しており、96 px は正確に 25.4 mm です。 印刷デザインを Web レイアウトにマッピングするときに必要なものです。そのため、12 pt が 16 px に等しいのはそのためです。 高 DPI 画面上の物理ピクセルではなく、CSS 参照ピクセルを説明していることに注意してください。1 つの CSS ピクセルが 2 つまたは 3 つのデバイス ピクセルをカバーする場合があります。
ユニットを変換するときにデータがサーバーに送信されますか?
いやー 。 すべての変換は、ブラウザーで JavaScript で計算されます。これは、ネットワークの往復ではなく、入力すると即座に結果が更新されるのも理由です。 入力したものは何も送信されず、ログに記録されます。ページがロードされると、コンバーターはネットワーク接続をまったく使用せずに動作し続けます。



