Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การกำหนดจำนวนเต็มให้ทศนิยมและเปรียบเทียบใน C/C++


จำนวนเต็ม เป็นชนิดข้อมูลที่ใช้ในการกำหนดตัวเลขที่มีค่าที่ไม่ใช่เศษส่วนบวก ลบ หรือศูนย์ทั้งหมด ต้องไม่มีทศนิยม

ลอยตัว เป็นชนิดข้อมูลที่ใช้กำหนดตัวเลขที่มีค่าเศษส่วน สามารถมีทศนิยมได้เช่นกัน

ตอนนี้เราจะตรวจสอบว่าค่าของ 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