Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การจัดเก็บ float ในคอมไพเลอร์ C


ในภาษา C float เป็นคำสั้นของ floating point (จุดลอยตัว)

  • จำนวนจุดลอยตัวโดยทั่วไป แสดงในรูปแบบ IEEE (Institute of Electrical and Electronics Engineers)

  • รูปแบบ IEEE ใช้ sign bit, mantissa และ exponent สำหรับแสดงกำลังของ 2

  • Sign bit บ่งบอกเครื่องหมายของตัวเลข: 0 แทนค่าบวก 1 แทนค่าลบ

  • Mantissa แสดงในรูปแบบทวิตะหลังแปลงเป็นรูปแบบปกติ (Normalized) หลังปกติการแล้ว ตัวเลขหลักสำคัญสุดจะเป็น 1 เสมอ

  • Exponent เป็นจำนวนเต็มจัดเก็บในรูปแบบทวิตะไม่มีเครื่องหมาย หลังบวก bias แบบบวก

  • สิ่งนี้ทำให้ exponent ที่จัดเก็บเป็นบวกเสมอ

  • สำหรับ float bias คือ 127 สำหรับ double bias คือ 1023

ตัวอย่าง

โปรแกรม C ปัดเศษจำนวนจุดลอยตัวเป็น 4 ตำแหน่งทศนิยม:

#include <stdio.h>

int main() {
    float var = 37.66666;
    printf("%.4f", var); // ปัดเป็น 4 ตำแหน่งทศนิยม
    return 0;
}

ผลลัพธ์

เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:

37.6667

โปรแกรม C ปัดเศษจำนวนจุดลอยตัวเป็น 8 ตำแหน่งทศนิยม:

โปรแกรม

#include <stdio.h>

int main() {
    float var = 78.67;
    printf("%.8f", var);
    return 0;
}

ผลลัพธ์

เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:

78.66999817