Float và Double cả hai đều là kiểu dữ liệu trong kiểu Dấu phẩy động. Các số dấu phẩy động là các số thực có thành phần phân số trong đó. Sự khác biệt chính giữa float và double là loại float có bộ lưu trữ 32 bit. Mặt khác, loại kép có bộ lưu trữ 64 bit. Có một số khác biệt khác giữa float và double được thảo luận trong biểu đồ so sánh được đưa ra dưới đây.Float và Double cả hai đều là kiểu dữ liệu trong kiểu Dấu phẩy động. Các số dấu phẩy động là những số thực có thành phần phân số trong đó. Sự độc lạ chính giữa float và double là loại float có bộ tàng trữ 32 bit. Mặt khác, loại kép có bộ tàng trữ 64 bit. Có một số ít độc lạ khác giữa float và double được bàn luận trong biểu đồ so sánh được đưa ra dưới đây .

Biểu đồ so sánh:

Cơ sở để so sánh Phao Gấp đôi
Độ chính xác Độ chính xác đơn. Độ chính xác gấp đôi.
Bit 32 bit. 64 bit.
Byte 4 byte. 8 byte.
Phạm vi gần đúng 1, 4e-045 đến 3, 4e + 038 4, 9e-324 đến 1, 8e + 308
Đại diện bit 1 bit đại diện cho bit dấu.
8 bit đại diện cho số mũ.
23 bit đại diện cho lớp phủ.
1 bit đại diện cho bit dấu.
11 bit đại diện cho số mũ.
52 bit đại diện cho lớp phủ.
Độ chính xác Kém chính xác hơn. Chính xác hơn.

Định nghĩa của Float

Một kiểu dữ liệu nổi là một trong những kiểu dấu phẩy động. Phao kiểu dữ liệu có bộ tàng trữ 32 bit ( bằng 4 byte ) cho biến kiểu float. Kiểu dữ liệu float chỉ định độ đúng chuẩn duy nhất. Việc màn biểu diễn 32 bit trong float hoàn toàn có thể được lý giải là 1 bit được màn biểu diễn dưới dạng bit dấu, 8 bit được trình diễn dưới dạng số mũ và 23 bit được trình diễn dưới dạng mantissa. Phạm vi tối đa của loại phao là 1, 4 e – 045 đến 3, 4 e + 038. Khi so sánh với kiểu float dấu phẩy động kép thì kém đúng chuẩn hơn trong khi đo lường và thống kê. Hãy để chúng tôi hiểu float bằng một ví dụ .

 #include #include int main () {float num1 = sqrt (64, 23) cout << num1; } // đầu ra 8.00060 

Như trong đoạn mã trên, bạn hoàn toàn có thể quan sát thấy một biến float num1 được gán một giá trị bằng hàm sqrt ( ), trả về căn bậc hai của giá trị được truyền cho hàm này. Bạn hoàn toàn có thể quan sát thấy rằng khi giá trị trong num1 được in, nó gần bằng giá trị đúng chuẩn, nhưng nó không đúng chuẩn. Bây giờ tất cả chúng ta hãy xem ví dụ dưới đây khi cùng một chương trình được thực thi bằng cách sử dụng double làm kiểu dữ liệu .

Định nghĩa của đôi

Double là loại kiểu dữ liệu dấu phẩy động thứ hai. Một kiểu dữ liệu kép có bộ tàng trữ 64 bit ( bằng 8 byte ) cho một biến kiểu kép. Nó chỉ định độ đúng chuẩn gấp đôi vì size của nó chỉ gấp đôi phao. Biểu diễn 64 bit của kiểu double hoàn toàn có thể được lý giải là 1 bit đại diện thay mặt cho bit dấu, 11 bit đại diện thay mặt cho số mũ và 52 bit còn lại đại diện thay mặt cho mantissa. Trong số float và double loại dữ liệu được sử dụng thông dụng nhất là gấp đôi. Loại kép được sử dụng trong quy trình đo lường và thống kê và khi cần độ đúng chuẩn tuyệt vời. Các hàm toán học sin ( ), cos ( ) và sqrt ( ) luôn trả về giá trị kép. Hãy cho chúng tôi hiểu độ đúng chuẩn của kiểu dữ liệu nhân đôi với một ví dụ .

 #include #include int main () {double num1 = sqrt (64, 23) cout << num1; } // đầu ra 8.0143621 

Bạn hoàn toàn có thể quan sát rằng đầu ra thu được trong ví dụ, lý giải float khác với đầu ra thu được trong ví dụ, lý giải gấp đôi. Vì vậy, từ điều này, tất cả chúng ta hoàn toàn có thể nói rằng hiệu quả thu được từ gấp đôi đúng chuẩn hơn so với float .

Sự khác biệt chính giữa Float và Double

  1. Phao kiểu dữ liệu chỉ định độ chính xác đơn có nghĩa là khi so sánh với gấp đôi thì độ chính xác thấp hơn trong khi đó, độ chính xác gấp đôi vì nó chỉ gấp đôi độ nổi của nó là không đáng kể so với float.
  2. Một biến của kiểu float có dung lượng lưu trữ là 32 bit trong khi đó, một biến kiểu kép có dung lượng lưu trữ là 64 bit, nó biên dịch gấp đôi dung lượng lưu trữ lớn hơn so với float.
  3. Giá trị trong float có thể nằm trong khoảng từ 1, 4e-045 đến 3, 4e + 038 trong khi đó, giá trị của kiểu double có thể dao động từ 4, 9e-324 đến 1, 8e + 308.
  4. Biểu diễn bit của giá trị float tương tự như 1 bit float được sử dụng cho bit sing, 8 bit cho số mũ và 23 bit để lưu trữ mantissa. Mặt khác, một giá trị kép tương tự như 1 bit của nó được sử dụng cho bit sing, 11 bit cho số mũ và 52 bit của nó để lưu trữ lớp phủ.
  5. Do đó, khi so sánh với float kép ít chính xác hơn, trong khi phép tính toán kép được sử dụng.

Phần kết luận:

Chà, nói chung bạn phải sử dụng gấp đôi vì nó cung cấp độ đúng mực, đó là moto chính của chúng tôi hầu hết thời hạn .

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *