Sự khác biệt giữa float và double

Sự khác biệt chính - float vs gấp đôi
 

Trong lập trình, cần phải lưu trữ dữ liệu. Dữ liệu được lưu trữ trong bộ nhớ. Các vị trí bộ nhớ lưu trữ dữ liệu được gọi là các biến. Mỗi vị trí bộ nhớ có thể lưu trữ một loại dữ liệu cụ thể. Kích thước bộ nhớ cho mỗi loại dữ liệu là khác nhau. Trong các ngôn ngữ lập trình như Python, lập trình viên không cần khai báo loại biến. Trong các ngôn ngữ lập trình như Java, lập trình viên nên khai báo kiểu biến. Có một số loại dữ liệu như char, int, float và double. Kiểu dữ liệu char được sử dụng để lưu trữ một giá trị ký tự. Kiểu dữ liệu int được sử dụng để lưu trữ các giá trị số không có dấu thập phân. Các kiểu dữ liệu float và double được sử dụng để lưu trữ các giá trị số có dấu thập phân. Bài viết này thảo luận về sự khác biệt giữa float và double. Các sự khác biệt chính giữa phao và đôi là float là kiểu dữ liệu điểm nổi 32 bit IEEE 754 chính xác duy nhất trong khi double là kiểu dữ liệu điểm nổi 64 bit IEEE 754 chính xác kép.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Phao là gì
3. Thế nào là gấp đôi
4. Điểm tương đồng giữa float và double
5. So sánh cạnh nhau - nổi so với gấp đôi ở dạng bảng
6. Tóm tắt

Phao là gì?

Phao là một điểm nổi 32 bit chính xác duy nhất. Đây là loại dữ liệu được xác định trước được hỗ trợ bởi các ngôn ngữ lập trình như Java. Để khai báo một biến float, từ khóa 'float' được sử dụng. Vì vậy, nó không thể được sử dụng cho các tên định danh như tên phương thức và tên biến. Tham khảo chương trình dưới đây.

Hình 01: Chương trình Java với kiểu dữ liệu float

Theo chương trình trên, số này là một biến có thể lưu trữ số dấu phẩy động. Ở đây, -20,5f được sử dụng thay vì -20,5. -20,5 là một chữ kép. Để chỉ ra trình biên dịch lưu trữ giá trị dưới dạng float, lập trình viên nên viết f hoặc F.

Đôi là gì?

Nhân đôi là một điểm nổi 64 bit chính xác kép. Đây là một kiểu dữ liệu được xác định trước. Để khai báo một biến kép, từ khóa 'double' được sử dụng. Do đó, nó không thể được sử dụng cho các tên định danh như tên phương thức và tên biến. Tham khảo chương trình dưới đây.

Hình 02: Chương trình Java với Kiểu dữ liệu kép

Theo chương trình trên, số là một biến loại kép. In số sẽ cho đầu ra là -20,5. Phải mất 64 bit trong bộ nhớ để lưu trữ giá trị. Nếu lập trình viên được viết -20,5, nó được coi là gấp đôi. Anh ta cũng có thể viết nó là -20,5d. Viết 'd' là tùy chọn.

Đúc kiểu có thể được thực hiện trên các loại dữ liệu. Đây là quá trình chuyển đổi một loại dữ liệu sang loại dữ liệu khác. Khi gán một kiểu dữ liệu nhỏ hơn cho kiểu dữ liệu lớn hơn, không cần truyền. Việc mở rộng xảy ra theo thứ tự byte, ngắn, int, dài, float, double. Khi gán một kiểu dữ liệu lớn hơn cho một kiểu dữ liệu nhỏ, cần phải thực hiện việc truyền.

Hình 03: Đúc

Theo chương trình trên, num1 và num2 có kiểu dữ liệu float. Tổng được gán cho tổng biến. Nó là một cái phao. Vì float là loại dữ liệu nhỏ hơn so với gấp đôi, nó có thể được gán trực tiếp cho số biến kép mà không cần truyền kiểu.

X và y có thể lưu trữ các loại dữ liệu kép. Tổng được gán cho biến z. Nó cũng có thể lưu trữ gấp đôi. Việc truyền kiểu là cần thiết để gán kiểu dữ liệu lớn hơn cho kiểu dữ liệu nhỏ hơn. Do đó, để lưu trữ giá trị kép cho biến float, cần thực hiện truyền kiểu vì double là kiểu dữ liệu lớn hơn float.

Điểm giống nhau giữa phao và đôi?

  • Cả float và double đều là các kiểu dữ liệu được xác định trước được hỗ trợ bởi các ngôn ngữ lập trình như Java.
  • Cả hai loại float và double đều không được sử dụng cho các mục như tiền tệ.

Sự khác biệt giữa phao và đôi?

phao so với đôi

Phao là một kiểu dữ liệu dấu phẩy động chính xác 32 bit IEEE 754. Nhân đôi là kiểu dữ liệu dấu phẩy động chính xác 64 bit IEEE 754.
 Số byte
Phao dài 4 byte. Nhân đôi dài 8 byte.
Giá trị mặc định
Giá trị mặc định của float là 0,0f. Giá trị mặc định của double là 0,0d.
 Từ khóa
Từ khóa 'float' được sử dụng để khai báo giá trị nổi. Từ khóa 'double' được sử dụng để khai báo giá trị kép.
Bộ nhớ cần thiết
Phao cần ít bộ nhớ hơn gấp đôi. Bộ đôi đòi hỏi nhiều bộ nhớ hơn float.

Tóm lược - phao vs gấp đôi

Trong lập trình, cần lưu trữ dữ liệu. Những dữ liệu đó được lưu trữ trong các vị trí bộ nhớ và được gọi là các biến. Mỗi biến lưu trữ dữ liệu của loại cụ thể. Có các loại dữ liệu như int, char, double và float, vv Bài viết này đã thảo luận về sự khác biệt giữa hai loại dữ liệu là float và double. Sự khác biệt giữa float và double là float là một kiểu dữ liệu, là một điểm nổi 32 bit IEEE 754 chính xác duy nhất trong khi double là một kiểu dữ liệu, là một điểm nổi 64 bit IEEE 754 chính xác kép.

Tài liệu tham khảo:

1. Các biến dữ liệu Java và các kiểu dữ liệu (nguyên thủy). Có sẵn ở đây
2. Điểm, Hướng dẫn. Các kiểu dữ liệu cơ bản của Java. Bắt đầu, Điểm hướng dẫn, ngày 8 tháng 1 năm 2018. Có sẵn tại đây