1.4.1 Số dấu phẩy động (1)

Ở các bài trước, chúng ta đã làm quen với khái niệm kiểu dữ liệu, và đã học một trong số những kiểu cơ bản trong C++ là kiểu số nguyên – int. Bây giờ là thời điểm để nói về một kiểu dữ liệu khác, nó được thiết kế để biểu diễn và lưu trữ các số có phần thập phân.

Đây là những số có (hoặc có thể có) một phần thập phân sau dấu thập phân, và mặc dù đây là một định nghĩa rất đơn giản nhưng nó cũng đủ cho mục đích của chúng ta. Bất cứ khi nào chúng ta sử dụng thuật ngữ “hai và một phần hai” hoặc “không phẩy bốn” thì đó là khi chúng ta nghĩ về một số mà máy tính coi nó là số floating.

Hãy quay trở lại với những giá trị mà chúng tôi trích dẫn ở trên. Rất bình thường khi chúng ta sử dụng “hai và một phần hai” trong một chương trình, mặc dù ngôn ngữ tự nhiên của bạn sử dụng dấu phẩy thay vì dấu chấm trong khi biển diễn số thì bạn cũng nên chắc chắn rằng số của bạn chứa dấu chấm chứ không phải dấu phẩy. Compiler sẽ không chấp nhận hoặc không hiểu ý định của bạn, bởi vì dấy phẩy có ý nghĩa riêng của nó trong ngôn ngữ C++.

Nếu bạn muốn sử dung một giá trị “hai và một phần hai”, bạn nên viết như sau →

2.5

Chú ý một lần nữa – giữa số “2” và số “5” là đấy chấm chứ không phải dấu phẩy.

Bạn có thể viết giá trị của “không phẩy bốn” trong C++ như sau →

.4

Đừng quên nguyên tắc đơn giản này – bạn có thể bỏ qua số 0 nếu nó là số duy nhất ở phía trước hoặc phía sau dấu thập phân. Về bản chất, bạn có thể viết giá trị “không phẩy bốn” như sau

0.4

Bạn cũng có thể viết giá trị của 4.0 bằng cách viết 4. mà không làm thay đổi kiểu của nó.


Chú ý: Dấu thập phân là cần thiết để phân biệt số dấu phẩy động trong C++. Hãy nhìn vào 2 số sau:

4

4.0

Có thể bạn nghĩ rằng nó giống nhau, nhưng C++ compiler thì không nghĩ vậy:

4 là một số int.

4.0 là một số float.

Chúng ta có thể nói rằng dấu chấm tạo ra số float. Đừng quên điều đó.


Khi bạn muốn sử dụng bất cứ số nào quá lớn hoặc quá nhỏ, bạn có thể sử dụng scientific notation. Ví dụ tốc độ ánh sáng tính theo m/s nếu viết trực tiếp thì sẽ như sau:

300000000

Để tránh việc phải viết quá nhiều số 0 thì sách giáo khoa vật lý sử dụng cách viết tắt mà có thể bạn đã biết:

3 · 108

Nó có nghĩa là: 3 nhân với mười mũ tám

Trong C++, tác dụng tương tự được thực hiện trong một hình thức hơi khác:

3E8

Chữ cái E (bạn cũng có thể sử dụng e – nó là viết tắt của exponent) có nghĩa là mười mũ.

Chú ý:

  • số mũ (giá trị đằng sau “E”) phải là một số nguyên.
  • số base (giá trị đằng trước “E”) có thể là một số nguyên hoặc không.