Rumah > Artikel > pembangunan bahagian belakang > Mengapakah Nombor Subnormal adalah Pertukaran Antara Ketepatan dan Panjang Perwakilan?
Asas IEEE 754
Standard titik terapung IEEE 754 menyusun nombor ke dalam format berikut:
Nombor Subnormal
Jurutera melaksanakan nombor subnormal untuk menangani kebimbangan. Semua nombor kecuali 0.0 mempunyai 1 terkemuka dalam perwakilan binari. Untuk mengelakkan pembaziran ketepatan pada bit pendahulu ini, mereka mencipta "konvensyen bit terkemuka."
Walau bagaimanapun, ini akan menjadikan nombor bukan sifar terkecil lebih besar daripada standard sebelumnya. Jurutera memperkenalkan nombor subnormal sebagai pengecualian di mana:
Ini membolehkan perwakilan nombor yang lebih kecil daripada bukan subnormal terkecil nilai.
Pertukaran Nombor Subnormal
Nombor subnormal mewakili pertukaran antara ketepatan dan panjang perwakilan. Nombor yang lebih kecil telah mengurangkan ketepatan, tetapi bilangan nilai yang diwakili digandakan.
Visualisasi
Secara geometri, subnormal memanjangkan julat eksponen 0, menggandakan ruang yang tersedia untuk nombor dan mengurangkan jarak dalam julat itu.
Melaksanakan Subnormal
Apungan C mewakili nombor IEEE 754 32-bit pada kebanyakan mesin desktop. Contoh program C menunjukkan sifat nombor subnormal:
#include <assert.h> #include <inttypes.h> #include <math.h> #include <stdlib.h> #include <stdio.h> typedef struct {...} Float32; // Represents the 32-bit floating point float float_from_bytes(..., uint32_t fraction); // Reconstructs float from individual parts bool float32_equal(float f, uint32_t sign, uint32_t exponent, uint32_t fraction); // Compares float to individual parts int main() { assert(float32_equal(0.5f, 0, 126, 0)); assert(isnormal(0.5f)); ... // More assertions return EXIT_SUCCESS; }
Subnormal dalam Pelaksanaan
Subnormal mungkin dilaksanakan dengan kurang cekap pada sesetengah platform. ARMv8 menyediakan mod "Siram-ke-Sifar" di mana subnormal dibundarkan kepada sifar untuk pengoptimuman prestasi.
Denormal lwn. Subnormal
Subnormal dan denormal ialah sinonim, merujuk kepada jenis nombor yang sama.
Istimewa Lain Kes
Atas ialah kandungan terperinci Mengapakah Nombor Subnormal adalah Pertukaran Antara Ketepatan dan Panjang Perwakilan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!