>> ડેવીડના MALAN: હવે તમારા મન તમાચો છે.
તે વિ વાસ્તવિક દુનિયામાં 1 માં તારણ 10 દ્વારા 1/10, અથવા 0.1 ખરેખર છે.
પરંતુ કમ્પ્યુટર્સ માત્ર મર્યાદિત હોય છે બિટ્સ નંબર કે જેની સાથે કરવા માટે
નંબરો પ્રતિનિધિત્વ કરે છે, તો તમે હંમેશા નથી કરી શકો છો સાથે 1/10 જેવા સંખ્યામાં પ્રતિનિધિત્વ
સંપૂર્ણ ચોકસાઇ.
અન્ય શબ્દોમાં, કમ્પ્યુટર્સ ક્યારેક છે ચુકાદો કોલ અને નથી બનાવવા માટે
જરૂરી સંખ્યા આપનું પ્રતિનિધિત્ત્વ તરીકે ચોક્કસપણે તમે માંગો તરીકે માંગો છો.
>> દાખલા તરીકે, હું પાછું જવા ધારી આ કાર્યક્રમ અને માટે 0.1 બદલાય છે,
ઓહ, 0.28, ત્યાં સૂચવે છે કે હું printf માટે printf માંગો છો
ચોકસાઇ 28 સ્થળો.
હવે સેવ અને કાર્યક્રમ સંકલન કરીએ, મેક floats2 સાથે આ સમય.
કોઈ સ્લેશ floats2 સાથે ચલાવો.
અને, પ્રિય ભગવાન, હું 0.1 નથી જુઓ આ જ સમયે, પરંતુ ખૂબ છે જે 0.10000000,
સારા અત્યાર સુધી.
પરંતુ તે પછી, 14901161193847656250.
>> ઠીક છે, શું થઈ રહ્યું છે તે?
વેલ, તે ફ્લોટ તારણ આપે છે કે સામાન્ય રીતે એક કમ્પ્યુટર ની અંદર સંગ્રહિત
32 બિટ્સ સાથે.
32 દેખીતી રીતે મર્યાદિત નંબર છે, કે જે તમે માત્ર પ્રતિનિધિત્વ કરી શકે છે
32 બિટ્સ મર્યાદિત નંબર સાથે ના અપૂર્ણાંક બિંદુ કિંમતો.
કમનસીબે, એનો અર્થ એ થાય કે કમ્પ્યુટર તમામ શક્ય પ્રતિનિધિત્ત્વ કરી શકે નહીં
અપૂર્ણાંક બિંદુ સંખ્યામાં, અથવા વાસ્તવિક સંખ્યાઓ, વિશ્વમાં અસ્તિત્વ ધરાવે છે,
તે માત્ર ઘણા બિટ્સ છે છે.
>> અને તેથી કોમ્પ્યુટર દેખીતી રીતે શું છે આ કિસ્સામાં કરી 1/10 માટે રજૂ કરવામાં આવે છે
નજીકના શક્ય અસ્થાયી બિંદુ કિંમત તે કરી શકો છો.
પરંતુ અમે જુઓ, અમે અહીં છે, કારણ કે 28 દશાંશ સ્થળ, અમે તે જોવા માટે શરૂ
અશુદ્ધિ.
તેથી આ સાથે સમસ્યા છે કોઈ યોગ્ય ઉકેલ.
અમે તેના બદલે એક ફ્લોટ એક ડબલ ઉપયોગ કરી શકો છો તરીકે 64 બિટ્સ ઉપયોગ કરે છે, જે
32 વિરોધ.
પરંતુ અલબત્ત, 64, પણ મર્યાદિત છે જેથી સમસ્યા કરશે
પણ ડબલ્સ સાથે રહે છે.