Skip to content

Data study

306 birim dönüşümü bir milyon kez gidiş geldi. Kaybettiğiniz hassasiyet burada.

Her dönüşümü bir milyon kez gidiş geldir. %88,2 çift tam sıfır kayma ile; en kötü durum 15 önemli rakam hassasiyet kaybeder. Burada neden — ve tam sabit kategoriler hangisi.

By Published

Web üzerinde her birim dönüşümü IEEE 754 çift kesinlik kayan nokta üzerinde çalışır — JavaScript, tablo hesaplama ve çoğu hesap makinesi kullandığı aynı 64 bitlik sayı biçimi. Yaklaşık 15–16 önemli rakam doğru, ama sonsuz kesinlik değil: çoğu ondalık fraksiyonlar ikili tam saklanamaz. Önemli soruyu yükseltir. Bir sayı bir birim ve geri dönüştür dönüştür orijinal sayı geri mısın? Ve tekrar yaparsanız, ve tekrar — hata yığınını mi?"

Kapsamlı test ettik. Convertitive'in katalogunde tüm306 çekirdek dönüşüm çifti (sıcaklık hariç her kategori, ayin offset dönüşümü saf oran değil), 1 değeri başladık, ileri ve geri dönüştür vebir milyon kez o gidiş geliş tekrarladık. Sonra ölçtük sonuç 1'den kaç mesafesi kayması vardır.

Bulgusu 1: %88 dönüşüm hiç kayma değildir

306 çift, 270 (%88,2) bir milyon gidiş geldiği sonra tam 1 dönüldü — bitwise aynı, sıfır hata. Bunlar birim birim oran tam ikili kayan nokta temsil edilen çiftler, böylece her dönüşüm tersine çevrilebilir ve kayma sıfır kalır sonsuza kadar.

Bu insanlar beklemekten daha güçlü sonuç. "Kayan nokta hata daima birikir" sezgi sadece çoğu gerçek dönüşümler için yanlış.

Bulgusu 2: en kötü durum dahi 15 rakam doğru kaliyor

Kalan 36 çift kayma — ancak neredeyse hiçbir şey tarafından. İşte en kötü suçlu bir tam milyon gidiş geldiği sonra:

Dönüşüm çiftiKategoriMutlak kayma sonra 1.000.000 gidiş gelmiş
mil → inçuzunluk1,78 × 10⁻¹⁵
kPa → mmHgbasınç1,11 × 10⁻¹⁵
yıl → saniyezaman9,99 × 10⁻¹⁶
oz → tonneağırlık8,88 × 10⁻¹⁶
lb → tonneağırlık8,88 × 10⁻¹⁶
knot → km/hhız7,77 × 10⁻¹⁶
bar → psibasınç6,66 × 10⁻¹⁶
kWh → jouleenerji4,44 × 10⁻¹⁶

Tek en kötü çift, mil → inç, 1,78 × 10⁻¹⁵ kayma — kabacakatrilyon iki parça, birmilyon gidiş geldiği sonra. Normal kullanıcı tam olarak bir dönüşümü gerçekleştirir, hata milyonlar kez daha küçük hala ve 15 önemli rakam altında oturur. Pratik terimler, sonuç tam.

Bulgusu 3: hangi kategoriler tam sabit

Kayma kategoriye tarafından kümeleri ve desen tamamen hangi birim tanımlar ikili faktörlere göre açıklanır:

KategoriÇift testSıfır kayma çiftKötü kayma
veri (bayt, bit)3030 (%100)0
hacim5656 (%100)0
enerji3028 (%93)4,44 × 10⁻¹⁶
zaman3028 (%93)9,99 × 10⁻¹⁶
ağırlık3026 (%87)8,88 × 10⁻¹⁶
uzunluk5648 (%86)1,78 × 10⁻¹⁵
torklar2016 (%80)4,44 × 10⁻¹⁶
basınç3022 (%73)1,11 × 10⁻¹⁵
güç128 (%67)2,22 × 10⁻¹⁶
hız128 (%67)7,77 × 10⁻¹⁶

Veri ve hacim tam sabit — her çift bir milyon gidiş geldiği kayıpsız gidiş geliş. Veri birimleri ikili temiz işlem iki ve on güçler; bu kataloğu hacim birim faktör tam ikili iptal. Kategoriler çoğu kayma —güç ve hız — at-motor tanımları gibi tanımlar egzotik tarafından dominate olan irasyonel ikili faktörler.

Neden bu olur

Çift kesinlik kayan nokta 53 bit mantissa depolar, ~2,2 × 10⁻¹⁶ makine epsilon — en küçük nispi boşluk temsil edilebilir sayı 1 yakın. Bir dönüşüm iki birim faktörler oranı çarpar. Oran tam ikili fraksiyonu (veya ileri ve tersine faktör tam iptal) ne zaman — inç 0.0254 m veya mil 1609.344 m gibi — her dönüşüm epsilon 1 mertebede hata bırakarak en yakın temsil edilebilir değer yuvarlar. Bir milyon gidiş geldiği üzerinde bu hatalar yavaş rastgele yürüyüş al, ki en kötü durum neden sadece birkaç kez 10⁻¹⁵ ulaştığı.

Pratik paylaşımı

Tarayıcıda birim dönüşüm, tüm kastedinin için, tam. Hata makine epsilon sınırlı, gerçek kullanım içinde anlamlı başarısız olmaz ve daima çoğu hiç çoğaltmanız gösterir kesinlik çok daha aşağı. Hiç merak ettiyseniz zincir dönüşüm aracı sessiz sayı bozmalar — bunu yapmaz. Tam resim için Convertitive'in sonuç karşı nasıl karşılaştırılan görmekdönüştürücü doğruluk çalışma vedönüşüm metodoloji.

Metodoloji

Her sıralı kategori içinde çekirdek birim (A, B) çifti için, biz hesaplattıkv ← v × (factorA / factorB) sonrav ← v × (factorB / factorA),v = 1 başlayarak, 1.000.000 kez tekrar ve kaydedilmiş|v − 1|. Faktörler tamfactorToBase Convertitive'in birim verisi değerler, NIST SP 811 türetilmiş. Tüm aritmetik IEEE 754 binary64 (JavaScript'in yerel sayı türü). Sıcaklık çıkarıldı çünkü affine dönüşümü (eklemeli uzaklık), saf oran değil, bu yüzden üst model uygulamıyor. Prosedür deterministik: aynı girişler daima aynı burada bildirilmiş kayma değerleri üretir.

Frequently asked questions

Dönüşüm kayması nedir?
Kayma bir değeri bir birim diğerine dönüştür ve tekrar tekrar geri küçük hata birikir. Tam aritmetik'te, 1 metre fit geri dönüştür tam 1 dön. IEEE 754 çift kesinlik kayan nokta — tarayıcı ve tüm elektronik tablolar kullan — ara değerler 53 bitler yuvarlanır, böylece gidiş geliş kesinlikle başladı yerden saç uzakta inebilir.
Birim dönüşümlerde kayan nokta hatası hakkında endişe etmeliyim?
Gerçekçi kullanım için, hayır. Bir milyon gidiş geldiği sonra, en kötü çift ölçtük (mil inç) %1,78 × 10⁻¹⁵ kayma — yaklaşık iki parça katrilyon. Tek gerçek dünya dönüşümü çok daha az kayma, ve hata çoğu gösterim kesinlik altında çok daha fazladır. Matematik pratik amaçlar için etkin tam.
Neden bazı dönüşümler sıfır kayma vardır?
Oran iki birim ikili kayan nokta tam temsil edilir ne zaman, gidiş geliş kayıpsız. On güçler temiz ikili fraksiyonlar çöz ve birim tanımlar faktör paylaş oluşturur, donanım tam saklayabilir oranı. 270 306 çift ölçtük (%88,2) bu kategoriye düştü ve bir milyon gidiş geldiği sonra sıfır kayma gösterdi.
En çok dönüşüm hangisi kayma?
Metrik imperial çift hangi tanımlanmış faktör tam ikili fraksiyonlar değil — mil inç, kPa mmHg, knot km/h, kilowatt-saat joule. Bunlar 1609.344 m per mil veya 0.0254 m per inç gibi faktörleri dayanır, tam ikili saklanamazlar, böylece her dönüşüm sub-epsilon yuvarlama hata sunan.
Bu nasıl ölçülmüş?
Her çekirdek dönüşüm çiftinde, 1 değerle başladık, A→B sonra B→A dönüştür ve o döngü 1.000.000 kez tekrar Convertitive'in birim verisi ve standart çift kesinlik aritmetik kesin faktörleri kullanarak. Sonra ölçtük mutlak 1 fark. Sıcaklık çıkarıldı çünkü affine (uzaklık) dönüşümü, saf oran değil. Hesaplama deterministik ve tekrarlanabilir.
Bu Convertitive yuvarlama cevapları anlamına mı gelir?
Convertitive tam çift kesinlik hesaplar ve sadece görüntü için yuvarlar. Burada çalışan kayma IEEE 754 aritmetik kendisine değil, Convertitive ekler hiçbir yuvarlama içinde — ve çoğu daha az görüntü yuvarlama, böylece bunu asla görürsünüz.

Sources & references

Authoritative references cited by this piece. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Related

Published June 27, 2026