Limit Integer Value

ค่าสูงสุดที่ Integer เก็บได้คือ 32767 เราท่องกันมาแบบนี้ถูกป่ะ ??

แต่รู้มั้ยว่า จริง ๆ แล้วมันคือเท่าไร ?? 

ค่าของ Integer นั้นจะเปลี่ยนตาม Compiler ที่เราใช้ 

ซึ่งเมื่อก่อนเราใช้ Turbo C++ กันซะส่วนใหญ่ และสมัย Turbo C++ (น่าจะเมื่อ 10 กว่าปีที่แล้ว)

ค่าของ int คือ 2 byte เท่ากับ 16 bit --> 2^16 =  65535 

แบ่งเป็นด้านลบ และ บวก คือ (-32768) - 32767

ดังเช่น ตอนนี้ เราใช้ Dev-C++ หรือ Codeblock สองตัวนี้ไม่ใช่ Compiler นะครับ มันแค่ Editor เท่านั้น 

ส่วนตัว Compiler ที่ใช้ใน โปรแกรมสองตัวนี้คือ GNU GCC Compiler 

ซึ่งทำให้ int มีขนาด 4 byte นั่นคือ ค่าสูงสุดเพิ่มขึ้นไปอีก...

เท่ากับ 2^32 = 4,294,967,296


เราจะรู้ได้อย่างไร ว่า Integer ของเราเก็บค่าสูงสุดได้เท่าไร ??

ผมก็ไม่รู้หรอกว่า ค่ามันคือเท่าไร


แต่..... เราสามารถเช็คได้จาก 

#include <limits.h> หรือในภาษา C++ --> #include <climits> 

ค่ามันถูก #define ไว้ชื่อ INT_MAX และ INT_MIN (สำหรับค่าต่ำสุด) 
เช่น cout << INT_MAX << endl;


หรือใน ภาษา C++ เราจะ #include <limits> และใช้ว่า


numeric_limits <int> ::min() หรือ max()


ค่าที่ได้ขึ้นอยู่กับ Compiler ที่คุณใช้นั่นแหละ ^^~

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น