2.0 Kiểu Boolean

Thành công rồi đó em.
Kiểu double là kiểu dữ liệu có độ chính xác cao hơn so với kiểu float. Gần như là tuyệt đối !

Bạn ấy nói thay kiểu double thành kiểu float thì đúng mà sao anh lại nói double có độ chính xác cao hơn. :smiley:

Có sự ngược đời ở đây :smile_cat:

1 Like

:v Có một sự nhầm lẫn ở đây ! Đọc vội quá nên nhìn nhầm :3
Kiểu dữ liệu double cho phép độ chính xác cao hơn tới 10 con số. Một biến khai báo kiểu dữ liệu double chiếm 64bit (8byte) trong bộ nhớ.

(Y)
Bạn có thể xem thêm tại bài này nhé !

3 Likes

He he! Em hiểu rồi! Cảm ơn anh TheSky và bác NIH tntxtnt! :smiley:

1 Like

Em hiểu rồi! Cảm ơn các anh nhé! Hehe! :smiley:

1 Like

cout << “So sanh do chinh xac cua kieu double va kieu float” << endl;
cout << “Kieu double” << endl;
double d1 = (100 - 99, 99);
double d2 = (10 - 9, 99);
b = (d1 == d2);
cout << boolalpha << b << endl;
b = (d1 < d2);
cout << b << endl;
b = (d1 > d2);
cout << b << endl;
cout << “Kieu float” << endl;
float d3 = (100 - 99, 99);
float d4 = (10 - 9, 99);
b = (d3 == d4);
cout << b << endl;
b = (d3 < d4);
cout << b << endl;
b = (d3 > d4);
cout << b << endl;
mình có một đoạn lệnh như thế này để kiểm tra độ chính xác giữa kiểu double và float, kết quả là cả 2 thằng đều như nhau cả: true false false. ai giải thích giùm mình với @@

Ví dụ của thớt trong bài là để minh họa, chứ đừng dùng == với số thực.

4 Likes

Vì dấu phẩy là không đúng :slight_smile: dấu phẩy thì chỉ lấy phía sau thôi, nên d3 và d4 đều bằng 99.0.

1 Like

Em khai báo: bool b3 { true } ; nó báo lỗi như thế này ạ?
[Warning] extended initializer lists only available with -std=c++11 or -std=gnu++11
Làm sao mọi người :sweat: ?

Câu này của C++11 mà :smiley: [spoiler]sao lại đưa vào đây nhỉ?[/spoiler] và không cần thiết, có phải array đâu :smiley: (nghĩa là bỏ qua câu này, sau này lên C++11 thì học dần)

1 Like

Cảm ơn anh rpgp10.
:smiley:

em nghĩ bài giảng sẽ tốt hơn nếu có 1 ví dụ cụ thể kiểu đưa ra vấn đề và giải quyết bằng "boolean’. Tại e xem bài giảng thì hiểu nhưng hơi mơ màng cái cú pháp này áp dụng thế nào, có phải nó nên đi chung với các cú pháp khác như If … else không @@ Nhưng dầu gì cũng cảm ơn anh vì đã chia sẻ kiến thức ạ!

  • Dùng trong phần điều kiện của if, for, while, do... while
  • Kết quả trả về của hàm
  • Một số trường hợp nên giữ riêng trong 1 biến để dùng sau.
2 Likes

à mình hỉu rồi, cảm ơn nhiều nha ^^

int value = 1;
value != 0 && value != 2; //true
value == 1 && value == 2; //false

cho mk hỏi là sao cái thứ 2 lại sai ạ

Giá trị của biến value đang là 1.
Bây giờ mình chuyển đổi mệnh đề (value == 1 && value == 2) sang ngôn ngữ nói xem nhé, mình sẽ nói như sau:
Biến value có giá trị là 1 và biến value có giá trị là 2. Bạn có thấy sự mâu thuẩn trong 2 vế khẳng định này khi đứng cùng nhau không? Một biến số không thể cùng lúc chứa 2 giá trị tại một thời điểm, nó không thể vừa là 1 và vừa là 2. Như vậy kết quả mệnh đề này là sai (false).

Nếu bạn chuyển mệnh đề ở trên thành như vầy: (value == 1 || value == 2). Mình sẽ có một cách khác để diễn đạt mệnh đề này:
Biến value có giá trị là 1 hoặc (cũng có thể) có giá trị là 2. Nó có thể là 1, cũng có thể là 2, mà thực sự nó đang là 1, nên mệnh đề này đúng.

Hi vọng nó giải quyết được thắc mắc của bạn!

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?