จำนวนเต็ม เป็นชนิดข้อมูลที่ใช้ในการกำหนดตัวเลขที่มีค่าที่ไม่ใช่เศษส่วนบวก ลบ หรือศูนย์ทั้งหมด ต้องไม่มีทศนิยม
ลอยตัว เป็นชนิดข้อมูลที่ใช้กำหนดตัวเลขที่มีค่าเศษส่วน สามารถมีทศนิยมได้เช่นกัน
ตอนนี้เราจะตรวจสอบว่าค่าของ float และ integer return โดยคอมไพเลอร์จะเป็นเท่าใดเมื่อเราป้อนค่าเดียวกันสำหรับทั้งคู่
ตัวอย่าง
#include <iostream>
using namespace std;
int main(){
float f = 23;
unsigned int x = 23;
cout<<"Float f = "<<f<<endl;
cout<<"Integer x = "<<x<<endl;
f = 0xffffffff;
x = 0xffffffff;
cout << "f = " << f << endl;
cout << "x = " << x << endl;
return 0;
} ผลลัพธ์
Float f = 23 Integer x = 23 f = 4.29497e+09 x = 4294967295
ในโค้ดนี้ เราจะเห็นว่าถ้าเราส่งค่าจำนวนเต็มไปยังทศนิยม มันจะทำหน้าที่เป็นจำนวนเต็มและส่งคืนค่าจำนวนเต็มเป็นเอาต์พุต แต่ค่าสูงสุดของทั้งคู่จะต่างกันออกไป
ทีนี้ มาดูกันว่าถ้าเราเริ่มต้นตัวแปรจำนวนเต็มด้วยค่าทศนิยมจะเป็นอย่างไร
ตัวอย่าง
#include <iostream>
using namespace std;
int main(){
float f = 23.768;
unsigned int x = 23.768;
cout<<"Float f = "<<f<<endl;
cout<<"Integer x = "<<x<<endl;
return 0;
} ผลลัพธ์
Float f = 23.768 Integer x = 23
ในเงื่อนไขนี้โปรแกรมก็คอมไพล์และรันเช่นกัน ตัวแปรจำนวนเต็มละทิ้งค่าจุดทศนิยมของค่าเริ่มต้นของค่าทศนิยมและเริ่มต้นด้วยค่าจำนวนเต็มของมัน
ทีนี้มาเปรียบเทียบค่าเหล่านี้กัน -
ตัวอย่าง
#include <iostream>
using namespace std;
int main(){
float f = 0xffffffff;
unsigned int x = 0xffffffff;
if(f == x ){
cout<<"TRUE";
}
else
cout<<"FALSE";
return 0;
} ผลลัพธ์
TRUE