Untuk kejelasan, jika saya menggunakan bahasa yang mengimplementasikan IEE 754 floats dan saya menyatakan:
float f0 = 0.f;
float f1 = 1.f;
... dan kemudian mencetaknya kembali, saya akan mendapatkan 0,0000 dan 1,0000 - tepatnya.
Tetapi IEEE 754 tidak mampu mewakili semua angka di sepanjang garis nyata. Mendekati nol, celahnya kecil; saat Anda semakin jauh, jarak semakin besar.
Jadi, pertanyaan saya adalah: untuk pelampung IEEE 754, yang merupakan bilangan bulat pertama (paling dekat dengan nol) yang tidak dapat direpresentasikan secara tepat? Saya hanya benar-benar peduli dengan mengapung 32-bit untuk saat ini, meskipun saya akan tertarik untuk mendengar jawabannya untuk 64-bit jika seseorang memberikannya!
Saya pikir ini akan sesederhana menghitung 2 bits_of_mantissa dan menambahkan 1, di mana bits_of_mantissa adalah berapa banyak bit yang diekspos standar. Saya melakukan ini untuk mengapung 32-bit pada mesin saya (MSVC ++, Win64), dan sepertinya baik-baik saja.