จำนวนเต็ม เป็นชนิดข้อมูลที่ใช้ในการกำหนดตัวเลขที่มีค่าที่ไม่ใช่เศษส่วนบวก ลบ หรือศูนย์ทั้งหมด ต้องไม่มีทศนิยม
ลอยตัว เป็นชนิดข้อมูลที่ใช้กำหนดตัวเลขที่มีค่าเศษส่วน สามารถมีทศนิยมได้เช่นกัน
ตอนนี้เราจะตรวจสอบว่าค่าของ 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