Негізгі айырмашылық – қалқымалы және қос
Бағдарламалауда деректерді сақтау қажет. Деректер жадта сақталады. Деректерді сақтайтын жад орындары айнымалылар деп аталады. Әрбір жад орны деректердің белгілі бір түрін сақтай алады. Әрбір деректер түрі үшін жад өлшемі әртүрлі. Python сияқты бағдарламалау тілдерінде бағдарламашыға айнымалының түрін жариялаудың қажеті жоқ. Java сияқты бағдарламалау тілдерінде бағдарламашы айнымалы түрін жариялауы керек. char, int, float және double сияқты бірқатар деректер түрлері бар. char деректер түрі бір таңба мәнін сақтау үшін пайдаланылады. int деректер түрі ондық бөлшексіз сандық мәндерді сақтау үшін пайдаланылады. Қалқымалы және қос деректер түрлері ондық нүктелері бар сандық мәндерді сақтау үшін пайдаланылады. Бұл мақалада float және double арасындағы айырмашылық талқыланады. float және double арасындағы негізгі айырмашылық мынада: float бір дәлдіктегі 32 биттік IEEE 754 өзгермелі нүкте деректер түрі, ал double қос дәлдіктегі 64 биттік IEEE 754 өзгермелі нүкте деректер түрі.
Float дегеніміз не?
Қалқыма – бір дәлдіктегі 32 биттік өзгермелі нүкте. Бұл Java сияқты бағдарламалау тілдері қолдайтын алдын ала анықталған деректер түрі. Float айнымалысын жариялау үшін 'float' кілт сөзі пайдаланылады. Сондықтан оны әдіс атаулары және айнымалы атаулары сияқты идентификатор атаулары үшін пайдалану мүмкін емес. Төмендегі бағдарламаны қараңыз.
01-сурет: қалқымалы деректер түрі бар Java бағдарламасы
Жоғарыдағы бағдарламаға сәйкес сан өзгермелі нүкте санын сақтай алатын айнымалы болып табылады. Мұнда -20,5 орнына -20,5f қолданылады. -20,5 қос литерал. Мәнді флоат ретінде сақтау үшін компиляторды көрсету үшін бағдарламашы f немесе F жазуы керек.
Дос деген не?
Қос – қос дәлдіктегі 64-биттік өзгермелі нүкте. Бұл алдын ала анықталған деректер түрі. Қос айнымалыны жариялау үшін «double» кілт сөзі қолданылады. Сондықтан оны әдіс атаулары және айнымалы атаулары сияқты идентификатор атаулары үшін пайдалану мүмкін емес. Төмендегі бағдарламаны қараңыз.
02-сурет: қос деректер түрі бар Java бағдарламасы
Жоғарыдағы бағдарламаға сәйкес сан double түріндегі айнымалы болып табылады. Нөмірді басып шығару -20,5 мәнін береді. Мәнді сақтау үшін жадта 64 бит қажет. Программист -20,5 деп жазылса, ол қосарланған деп есептеледі. Ол оны -20,5d түрінде де жаза алады. "d" жазу міндетті емес.
Түрді трансляциялауды деректер түрлерінде орындауға болады. Бұл бір деректер түрін басқа деректер түріне түрлендіру процесі. Үлкенірек деректер түріне кішірек деректер түрін тағайындағанда, трансляция қажет емес. Кеңейту байт, қысқа, int, ұзын, қалқымалы, қосарлы ретпен жүреді. Кішігірім деректер түріне үлкенірек деректер түрін тағайындағанда, трансляциялау қажет.
03-сурет: кастинг
Жоғарыдағы бағдарламаға сәйкес num1 және num2 қалқымалы деректер түрлеріне ие. Қосынды айнымалы сомасына тағайындалады. Бұл қалқымалы. float double-мен салыстырғанда кішірек деректер түрі болғандықтан, оны трансляциясыз қос айнымалы санына тікелей тағайындауға болады.
x және y қос деректер түрлерін сақтай алады. Қосынды z айнымалысына тағайындалады. Ол сондай-ақ екі есе сақтай алады. Үлкенірек деректер түрін кішірек деректер түріне тағайындау үшін типті трансляциялау қажет. Сондықтан, қос мәнді өзгермелі айнымалыға сақтау үшін типті трансляциялау қажет, себебі double - floatқа қарағанда үлкенірек деректер түрі.
Float және double арасындағы қандай ұқсастықтар бар?
- Float және double екеуі де Java сияқты бағдарламалау тілдері қолдайтын алдын ала анықталған деректер түрлері.
- Валюта сияқты дәлдіктер үшін қалқымалы және қос түрлер пайдаланылмайды.
Float және double арасындағы айырмашылық неде?
float vs double |
|
Қалқымалы – бір дәлдіктегі 32 биттік IEEE 754 қалқымалы нүкте деректер түрі. | Қос – қос дәлдіктегі 64 биттік IEEE 754 өзгермелі нүкте деректер түрі. |
Байттар саны | |
Қозбаның ұзындығы 4 байт. | Дос 8 байт ұзындығы. |
Әдепкі мәндер | |
Қалқымалы мәннің әдепкі мәні - 0,0f. | Double параметрінің әдепкі мәні 0,0 күн. |
Кілтсөз | |
«float» кілт сөзі өзгермелі мәнді жариялау үшін пайдаланылады. | «double» кілт сөзі қос мәнді жариялау үшін пайдаланылады. |
Міндетті жад | |
Қалқыма екі еседен аз жадты қажет етеді. | Дос қалқымалыға қарағанда көбірек жадты қажет етеді. |
Қорытынды – қалқымалы және қос
Бағдарламалауда деректерді сақтау қажет. Бұл деректер жад орындарында сақталады және айнымалылар деп аталады. Әрбір айнымалы белгілі бір типтегі деректерді сақтайды. Int, char, double және float, т.float пен double арасындағы айырмашылық мынада: float - деректер түрі, ол бір дәлдіктегі 32 биттік IEEE 754 өзгермелі нүкте, ал double - деректер түрі, ол қос дәлдіктегі 64 бит IEEE 754 өзгермелі нүкте.