>> டேவிட் MALAN: இப்போது உங்கள் மனதில் ஊதி பார்ப்போம்.
இது பிரிக்கப்பட்டுள்ளது உண்மையான உலக 1 மாறிவிடும் 10 1/10, அல்லது 0.1 உண்மையில் ஆகிறது.
ஆனால் கணினிகள் மட்டுமே ஒரு வரையறுக்கப்பட்ட வேண்டும் என்று பல பிட்டுகள் இது வரை
எண்ணிக்கை பிரதிநிதித்துவம், நீங்கள் எப்போதும் முடியாது 1/10 போன்ற எண்கள் குறிக்கின்றன
சரியான துல்லியமான.
வேறுவிதமாக கூறினால், கணினிகள், சில நேரங்களில் வேண்டும் தீர்ப்பு அழைப்புகள் மற்றும் செய்ய
அவசியம் எண்ணை நீங்கள் பிரதிநிதித்துவம் என துல்லியமாக நீங்கள் உத்தேசித்துள்ள என விரும்புகிறேன்.
>> உதாரணமாக, நான் மீண்டும் செல்ல வேண்டும் இந்த திட்டம் மற்றும் 0.1 மாற்ற,
ஓ, 0.28, அதன் மூலம் காட்டும் என்று நான் சோதிக்க வேண்டும் printf விரும்புகிறேன்
துல்லியமான 28 இடங்களில்.
இப்போது சேமிக்க மற்றும் திட்டம் தொகுக்கலாம், அலங்காரம் floats2 இந்த நேரம்.
டாட் சாய்வு floats2 அதை இயக்கவும்.
அன்பே கடவுள், நான் 0.1 பார்க்க இந்த நேரத்தில், ஆனால் அழகான இது 0.10000000,
நல்ல இதுவரை.
ஆனால் பின்னர், 14901161193847656250.
>> சரி, என்ன நடக்கிறது?
சரி, அது ஒரு மிதவை என்று மாறிவிடும் பொதுவாக ஒரு கணினி உள்ளே சேமிக்கப்படும்
32 பிட்கள்.
32 வெளிப்படையாக ஒரு வரையறு எண், இது நீங்கள் மட்டுமே பிரதிநிதித்துவம் முடியும் என்பதை குறிக்கிறது
32 பிட்கள் ஒரு வரையறு எண் ஒரு மிதவை புள்ளி மதிப்புகள்.
துரதிருஷ்டவசமாக, என்று அர்த்தம் கணினி அனைத்து பிரதிநிதித்துவம் முடியாது
மிதவை புள்ளி எண்கள், அல்லது உண்மையான எண்கள், உலகில் உள்ளன என்று,
அது மட்டும் பல பிட்கள் உள்ளது, ஏனெனில்.
>> எனவே கணினி வெளிப்படையாக என்ன இந்த வழக்கில் செய்ததைவிட 1/10 பிரதிபலிக்கிறது
மிக நெருக்கமான மிதக்கும் புள்ளி மதிப்பு அது முடியும் என்று.
ஆனால் நாம் பார்த்தால், நாம் இங்கே இருக்கிறது என, 28 தசம இடங்களில், நாம் என்று பார்க்க ஆரம்பிக்கிறோம்
Imprecision.
எனவே இந்த பிரச்சனை இருக்கிறது எந்த சரியான தீர்வு.
நாம், அதற்கு பதிலாக ஒரு மிதவை ஒரு இரட்டை பயன்படுத்த முடியும் என 64 பிட்கள் பயன்படுத்த முனைகிறது இது
32 எதிர்க்கும்.
ஆனால், நிச்சயமாக, 64, மேலும் வரையறுக்கப்பட்ட அதனால் பிரச்சனை
கூட இரட்டையர் இருக்கும்.