C++ Lấy 2 Chữ Số Sau Dấu Phẩy Trong C Hữ Số Sau Dấu Phẩy Trong C++

Các ngôn ngữ lập trình như Java Script, My SQL hay C++ là những ngôn ngữ lập trình khá phổ biến, trở thành tiêu chí xét duyệt của doanh nghiệp trong bài thi viết của kỹ sư công nghệ thông tin. Trong ngôn ngữ C++ thì định dạng số thông thường máy tính không thể nào hiểu và xử lý thông tin được. Điều đó bắt buộc người lập trình phải có kỹ năng chuyển đổi số thành các chuỗi ký tự dạng floating mà máy tính hiểu được. Bài viết dưới đây sẽ cho bạn biết rõ hơn về khái niệm số thập phân trong C++ và cách lấy 2 chữ số sau dấu phẩy trong C++ nhé!

Ngôn ngữ C++ là gì?

C++ là ngôn ngữ “đa hướng”. Tính năng hướng đối tượng là một tính năng khá quan trọng trong lập trình C++. Lập trình hướng C++ và hướng đối tượng C++ là một trong những nền tảng cơ bản được đào tạo. Đây là ngôn ngữ khá phổ biến trên thế giới với nhiều chương trình và doanh nghiệp công nghệ nổi tiếng sử dụng.

Bạn đang xem: Lấy 2 chữ số sau dấu phẩy trong c

Bạn đang xem: Lấy 2 chữ số sau dấu phẩy trong c

Về lịch sử ngôn ngữ C++ phát triển từ ngôn ngữ C từ cuối thập niên 1970. Đây là phiên bản nâng cấp của ngôn ngữ C với đầy đủ các tính năng như lập trình hệ thống, lập trình game hoặc một số lập trình nhúng có quy mô cơ bản hoặc cao cấp khác.

Một số chương trình được viết từ C++:

Hệ điều hành Operating systems: C++ là một phần không thể thiếu của rất nhiều hệ điều hành phổ biến hiện nay như Mac OS, Microsoft Window…Về đồ họa: C++ được dùng để tạo ra các phần mềm đồ họa đình đám như Imageready, Adobe Premiere, Photoshop, Illustrator, … Xử lý tính toán đồ họa 3D trong Maya 3D…
*

Hệ điều hành Operating systems: C++ là một phần không thể thiếu của rất nhiều hệ điều hành phổ biến hiện nay như Mac OS, Microsoft Window…Về đồ họa: C++ được dùng để tạo ra các phần mềm đồ họa đình đám như Imageready, Adobe Premiere, Photoshop, Illustrator, … Xử lý tính toán đồ họa 3D trong Maya 3D…

Top các phần mềm thiết kế

Trò chơi: C++ được dùng để tạo ra rất nhiều game nổi tiếng trên thế giới như StarCraft series, Doom 3, Team Fortress 2, World of Warcraft, Diablo series,…Và tất nhiên cũng có rất nhiều engine game sử dụng C++ để phát triển như Unreal Engine, Cocos2dx framework…

Định dạng dấu phẩy trong C++

Trò chơi: C++ được dùng để tạo ra rất nhiều game nổi tiếng trên thế giới như StarCraft series, Doom 3, Team Fortress 2, World of Warcraft, Diablo series,…Và tất nhiên cũng có rất nhiều engine game sử dụng C++ để phát triển như Unreal Engine, Cocos2dx framework…

Định dạng dấu phẩy được dùng để lưu trữ những số hoặc chữ số có định dạng là số thập phân. Đó 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. Mỗi khi nào chúng ta sử dụng thuật ngữ “ba và một phần hai” hoặc “không phẩy tám” thì đó là khi chúng ta nghĩ về một số mà máy tính coi nó là số floating. Dấu phẩy có thể di động ở số thập phân mà ta mong muốn.

VD: Bạn có thể viết giá trị ba phẩy năm trong C++ là 3.5 

Lưu ý giữa 2 số là dấu chấm (.) chứ không phải dấu phẩy.

Hoặc bạn có thể viết không phẩy bốn trong C++ là 0.4 hoặc .4

Lưu ý nếu chuỗi số thập phân bắt đầu bằng số 0 thì có thể lược bỏ hoặc hệ thống sẽ giúp bạn loại bỏ sau khi nhập dữ liệu.

Xem thêm: Cao Thủ Hàn Quốc Nêu Tên Lớp Nhân Vật Mạnh Nhất Trong Blade & Soul ?

Lấy 2 chữ số sau dấu phẩy trong C++

Dấu phẩy động trong số thập phân chia làm 3 loại: float, double và long double. Kích thước của chuỗi số không được C++ ước lượng chính xác. Nhưng vẫn nằm trong khoảng nhất định (nhưng nó đảm bảo kích thước tối thiểu). Số được định dạng theo kiểu nhị phân với số lượng số đi kèm tùy thuộc vào định dạng người viết chọn.

CategoryTypeMinimum SizeTypical Sizefloating pointfloat4 bytes4 bytesdouble8 bytes8 byteslong double8 bytes8, 12, or 16 bytes

Code lập trình:

#include

int main()

{

std::cout

std::cout

std::cout

}

Kết quả

5.46

6.78

9.87654e+06

Kết luận: Ta thấy các số thập phân có cấu trúc phức tạp sẽ được làm tròn 2 chữ số theo mong muốn. Nếu người lập trình không muốn lấy 2 chữ số mà đổi thành ‘\n’ thì dãy số sẽ thu gọn sao cho khoa học nhất.

Lỗi làm tròn trong các phép so sánh khi lấy số thập phân trong C++

Chỉ nhờ dấu phẩy thì khó có thể phân biệt được giữa số nhị phân (dữ liệu lưu trữ ) và số thập phân (số chúng ta nhìn thấy). Xét phân số 1/10. Trong phần thập phân, số này dễ dàng được biểu thị bằng 0,1 và người đọc chương trình cũng chỉ biết nó ở phạm vi 0,1 mà thôi. Trong hệ nhị phân ngôn ngữ C++, trong hệ nhị phân, 0,1 được biểu thị bằng chuỗi vô hạn: 0,0001100110011001. Khi chúng ta gán 0,1 cho một số dấu phẩy động, người đọc không thể nào hiểu được các dãy số quan trọng phía sau. Sai sót tuy rất nhỏ nhưng trong CNTT cần độ chính xác cao thì điều đó đích thực khá nguy hiểm.

Ta có ví dụ sau:

#include

#include // for std::setprecision()

int main()

{

double d{0.1};

std::cout

std::cout

std::cout

return 0;

}

Kết quả:

0.1

0.10000000000000001

Kết quả trên cùng cho thấy kết quả là 0,1 nhưng khi không làm trong ở size số 17 thì chuối số d thực sự không hoàn toàn 0,1! Bộ nhớ của double còn hạn chế nên chỉ có thể cắt ngắn chuỗi số. Cuối cùng là một số chính xác đến 16 chữ số, nhưng số này không chính xác 0,1. Khi làm tròn số có thể bé hơn hoặc lớn hơn dữ liệu ban đầu một khoảng cách biệt.

Một ngôn ngữ lập trình phức tạp như C++ có muôn hình vạn trạng, rất khó để tiếp thu trong một thời gian ngắn. Lấy 2 chữ số sau dấu phẩy trong C++ không quá phức tạp nhưng dễ nhầm lẫn trong cú pháp hoặc xảy ra các lỗi do làm tròn số.