Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào float được lưu trữ trong trình biên dịch C?

Trong ngôn ngữ lập trình C, float là một thuật ngữ viết tắt của dấu phẩy động.

  • Số dấu phẩy động thường được biểu diễn dưới dạng định dạng của Viện Kỹ sư Điện và Điện tử (IEEE).

  • Định dạng IEEE sử dụng một bit dấu, một định trị và một số mũ để biểu diễn lũy thừa của 2.

  • Bit dấu biểu thị dấu của số:a 0 biểu thị giá trị dương và 1 biểu thị giá trị âm.

  • Phần định trị được biểu diễn dưới dạng nhị phân sau khi chuyển đổi thành dạng chuẩn hóa của nó. Sau phần định trị chuẩn hóa, chữ số có nghĩa nhất luôn là 1.

  • Số mũ là một số nguyên được lưu trữ ở định dạng nhị phân không dấu sau khi thêm một số nguyên dương.

  • Điều này đảm bảo rằng số mũ được lưu trữ luôn là số dương.

  • Đối với float, độ lệch là 127 và đối với đôi, độ lệch là 1023.

Ví dụ

Sau đây là chương trình C để làm tròn số dấu phẩy động đến bốn chữ số thập phân trong ngôn ngữ C -

#include <stdio.h>
int main(){
   float var = 37.66666;
   printf("%.4f", var);// rounding to four decimal points
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

37.6667

Sau đây là chương trình C để làm tròn số dấu phẩy động đến tám chữ số thập phân trong ngôn ngữ C -

Chương trình

#include <stdio.h>
int main(){
   float var = 78.67;
   printf("%.8f", var);
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

78.66999817