Гол ялгаа – хөвөх ба давхар
Програмчлалд өгөгдөл хадгалах шаардлагатай. Өгөгдөл нь санах ойд хадгалагддаг. Өгөгдлийг хадгалах санах ойн байршлыг хувьсагч гэж нэрлэдэг. Санах ойн байршил бүр тодорхой төрлийн өгөгдлийг хадгалах боломжтой. Өгөгдлийн төрөл бүрийн санах ойн хэмжээ өөр байна. Python зэрэг програмчлалын хэлэнд программист хувьсагчийн төрлийг зарлах шаардлагагүй. Java зэрэг програмчлалын хэлэнд программист хувьсагчийн төрлийг зарлах ёстой. char, int, float, double гэх мэт олон төрлийн өгөгдлийн төрөл байдаг. Char өгөгдлийн төрлийг нэг тэмдэгтийн утгыг хадгалахад ашигладаг. int өгөгдлийн төрлийг аравтын бутархайгүйгээр тоон утгыг хадгалахад ашигладаг. Хөвөгч ба давхар өгөгдлийн төрлүүд нь аравтын бутархай бүхий тоон утгыг хадгалахад ашиглагддаг. Энэ нийтлэлд float болон double хоёрын ялгааг авч үзэх болно. Хөвөгч болон давхар хоёрын гол ялгаа нь хөвөгч нь нэг нарийвчлалтай 32 бит IEEE 754 хөвөгч цэгийн өгөгдлийн төрөл бол double нь давхар нарийвчлалтай 64 бит IEEE 754 хөвөх цэгийн өгөгдлийн төрөл юм.
Хөвөгч гэж юу вэ?
Хөвөгч нь нэг нарийвчлалтай 32 бит хөвөх цэг юм. Энэ нь Java зэрэг програмчлалын хэлээр дэмжигдсэн урьдчилан тодорхойлсон өгөгдлийн төрөл юм. Хөвөгч хувьсагчийг зарлахдаа 'float' гэсэн түлхүүр үгийг ашиглана. Тиймээс үүнийг аргын нэр, хувьсагчийн нэр гэх мэт танигч нэрүүдэд ашиглах боломжгүй. Доорх хөтөлбөрийг үзнэ үү.
Зураг 01: Хөвөгч өгөгдлийн төрөл бүхий Java програм
Дээрх программын дагуу тоо нь хөвөгч цэгийн тоог хадгалах боломжтой хувьсагч юм. Энд -20.5-ийн оронд -20.5f ашигласан. -20.5 гэдэг нь давхар үсэг юм. Хөрвүүлэгчийг хөвөгч утгыг хадгалахын тулд программист f эсвэл F гэж бичих ёстой.
Давхар гэж юу вэ?
Давхар нь давхар нарийвчлалтай 64 бит хөвөх цэг юм. Энэ нь урьдчилан тодорхойлсон өгөгдлийн төрөл юм. Давхар хувьсагчийг зарлахын тулд "давхар" гэсэн түлхүүр үгийг ашиглана. Тиймээс үүнийг аргын нэр, хувьсагчийн нэр гэх мэт танигч нэрүүдэд ашиглах боломжгүй. Доорх хөтөлбөрийг үзнэ үү.
Зураг 02: Давхар өгөгдлийн төрөл бүхий Java програм
Дээрх программын дагуу тоо нь double төрлийн хувьсагч юм. Дугаарыг хэвлэвэл -20.5 гэсэн гаралт гарна. Утгыг хадгалахын тулд санах ойд 64 бит шаардлагатай. Программистыг -20.5 гэж бичсэн бол давхар гэж үзнэ. Тэр бас -20.5d гэж бичиж болно. 'd' гэж бичих нь сонголттой.
Өгөгдлийн төрлүүд дээр төрөл дамжуулалтыг хийж болно. Энэ нь нэг төрлийн өгөгдлийн төрлийг өөр өгөгдлийн төрөл болгон хөрвүүлэх үйл явц юм. Том өгөгдлийн төрөлд жижиг өгөгдлийн төрлийг оноохдоо дамжуулалт хийх шаардлагагүй. Өргөтгөх нь байт, богино, int, урт, хөвөгч, давхар дарааллаар явагдана. Жижиг өгөгдлийн төрөлд том өгөгдлийн төрлийг оноохдоо дамжуулалтыг хийх шаардлагатай.
Зураг 03: Дамжуулах
Дээрх программын дагуу num1 болон num2 нь хөвөгч өгөгдлийн төрлүүдтэй. Нийлбэрийг нийлбэр хувьсагчид онооно. Энэ бол хөвөгч юм. Хөвөгч нь double-тай харьцуулахад жижиг өгөгдлийн төрөл тул үүнийг төрөл дамжуулалтгүйгээр давхар хувьсагчийн дугаарт шууд оноож болно.
X болон y нь давхар өгөгдлийн төрлийг хадгалах боломжтой. Нийлбэрийг z хувьсагчдад онооно. Мөн давхар хадгалах боломжтой. Том өгөгдлийн төрлийг жижиг өгөгдлийн төрөлд оноохын тулд төрөл дамжуулалт шаардлагатай. Иймд давхар утгыг float хувьсагч руу хадгалахын тулд double нь float-аас том өгөгдлийн төрөл учраас төрөл casting хийх шаардлагатай.
Хөвөгч ба давхар хоёрын ижил төстэй зүйл юу вэ?
- Хөвөгч ба давхар хоёулаа Java зэрэг програмчлалын хэлээр дэмжигдсэн урьдчилан тодорхойлсон өгөгдлийн төрөл юм.
- Хөвөгч болон давхар төрлийг хоёуланг нь валют зэрэг нарийвчлалд ашигладаггүй.
Хөвөгч ба давхар хоёрын ялгаа юу вэ?
хөвөгч ба давхар |
|
Хөвөгч нь нэг нарийвчлалтай 32 бит IEEE 754 хөвөх цэгийн өгөгдлийн төрөл юм. | Давхар нь давхар нарийвчлалтай 64 битийн IEEE 754 хөвөгч цэгийн өгөгдлийн төрөл юм. |
Байтын тоо | |
Хөвөгч нь 4 байт урт. | Давхар нь 8 байт урт. |
Өгөгдмөл утгууд | |
Float-ийн өгөгдмөл утга нь 0.0f байна. | Давхарын өгөгдмөл утга нь 0.0d. |
Түлхүүр үг | |
Хөвөгч утгыг зарлахад 'float' гэсэн түлхүүр үгийг ашигладаг. | “Давхар” гэсэн түлхүүр үгийг давхар утгыг зарлахад ашигладаг. |
Шаардлагатай санах ой | |
Хөвөгч нь хоёр дахин бага санах ой шаарддаг. | Давхар нь хөвөхөөс илүү санах ой шаарддаг. |
Товч мэдээлэл – хөвөх ба давхар
Програмчлалд өгөгдөл хадгалах шаардлагатай. Эдгээр өгөгдөл нь санах ойн байршилд хадгалагдаж, хувьсагч гэж нэрлэгддэг. Хувьсагч бүр тодорхой төрлийн өгөгдлийг хадгалдаг. Int, char, double, float гэх мэт өгөгдлийн төрлүүд байдаг. Энэ нийтлэлд float болон double гэсэн хоёр төрлийн өгөгдлийн төрлүүдийн ялгааг авч үзсэн. Хөвөгч ба double хоёрын ялгаа нь float нь өгөгдлийн төрөл бөгөөд нэг нарийвчлалтай 32 бит IEEE 754 хөвөгч цэг, double нь давхар нарийвчлалтай 64 бит IEEE 754 хөвөгч цэг бүхий өгөгдлийн төрөл юм.