ในภาษา 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