หากคุณสับสนเกี่ยวกับขนาดของ “ นานาชาติ ” ไม่ว่าจะเป็น 2 ไบต์ หรือ 4 ไบต์ ให้ปฏิบัติตามหลักเกณฑ์ของบทความนี้
คือขนาดของ C “int” 2 Bytes หรือ 4 Bytes
ในช่วงแรก ๆ เมื่อมีการแนะนำภาษา C สิ่งหนึ่งที่อยู่ในใจของนักพัฒนาคือการทำให้ภาษานี้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ ขณะนั้นคอมพิวเตอร์ใช้หน่วยประมวลผลแบบ 16 บิต ทำให้ในขณะนั้นมีขนาดเท่ากับ “ นานาชาติ ” ได้รับการแก้ไขเป็น 2 ไบต์ เมื่อเวลาผ่านไป พลังการประมวลผลของระบบจะเพิ่มขึ้น และผู้พัฒนาก็เปลี่ยนขนาดของ “ นานาชาติ ” ใน C ถึง 4 ไบต์ เหตุผลนี้คือเพื่อให้โปรแกรมเมอร์ C สามารถใช้ค่าขนาดใหญ่และพัฒนาโปรแกรมพลังงานได้มากขึ้นในระบบ
ปัจจัยใดบ้างที่ส่งผลต่อขนาด 'int' ใน C
มีสามปัจจัยที่ส่งผลกระทบต่อ ' นานาชาติ ” ขนาดใน C ซึ่งมีดังนี้:
1: เดอะ โปรเซสเซอร์ของระบบ ส่งผลกระทบอย่างสูงต่อ “ นานาชาติ ' ขนาด. สำหรับสถาปัตยกรรม 32 บิต ค่าของ “ นานาชาติ ” ขนาดคือ 4 ไบต์ เหตุผลคือหนึ่งไบต์ประกอบด้วย 8 บิต ดังนั้นหากคุณคูณ 8 บิต/ไบต์ด้วย 4 ไบต์ ผลลัพธ์ที่ได้จะเป็น 32 บิต
2: เดอะ ระบบปฏิบัติการ รุ่นยังมีผลกระทบอย่างมากต่อ “ นานาชาติ ” ขนาดและระบบปฏิบัติการ 64 บิตจะใช้ 4 ไบต์ “ นานาชาติ ” ประเภท อย่างไรก็ตาม สิ่งนี้ยังคงขึ้นอยู่กับปัจจัยอื่นๆ เช่น คอมไพเลอร์หรือแพลตฟอร์มที่ใช้
3: เดอะ คอมไพเลอร์ ยังส่งผลกระทบต่อ “ นานาชาติ ” ขนาดใน C และมีคอมไพเลอร์ที่ช่วยให้โปรแกรมเมอร์ C สามารถกำหนดค่าขนาดของ “int” ตามที่พวกเขาเลือก
คอมไพเลอร์ที่แตกต่างกันอาจมีการใช้งานภาษา C ที่แตกต่างกัน หมายความว่าพวกเขาอาจมองว่า C “ นานาชาติ ” ประเภทข้อมูล ในทางที่แตกต่าง. โดยทั่วไปแล้ว คอมไพเลอร์อาจพิจารณาว่า “ นานาชาติ ” ในภาษาซีให้ได้ 2 ไบต์ หรือ 4 ไบต์ ในขนาด. ก 2 ไบต์ 'int' จะครอบครอง สอง ไบต์ของหน่วยความจำ โดยแสดงค่าที่สามารถจัดเก็บได้ -32768 ถึง 32767 . ในทางตรงกันข้าม ก 4 ไบต์ 'int' จะครอบครอง สี่ ไบต์ของหน่วยความจำ โดยแสดงค่าเป็น -2147483648 ถึง 2147483647 .
อย่างไรก็ตาม หากเราตรวจสอบขนาดของ “ นานาชาติ ” ในคอมไพเลอร์ C ++ ที่ทันสมัย ให้คำตอบแก่เรา:
#รวม#รวม
#include
int หลัก ( int argc ถ่าน ** หาเรื่อง ) {
พิมพ์ฉ ( 'Int_MAX : %d \n ' , INT_MAX ) ;
พิมพ์ฉ ( 'int_MIN : %d \n ' , INT_MIN ) ;
กลับ 0 ;
}
ในโค้ดข้างต้น เรากำลังกำหนดขนาดของ ' นานาชาติ ” การใช้ฟังก์ชั่น int_MAX() และ int_MIN() ซึ่งแสดงให้เราเห็นว่าขนาดของ “ นานาชาติ ' เป็น 4 ไบต์ .
เอาต์พุต
คอมไพเลอร์สมัยใหม่ส่วนใหญ่ใช้ภาษาซีในลักษณะที่มีขนาดเท่ากับภาษาซี “int” คือ 4 ไบต์ . ที่กล่าวว่าคอมไพเลอร์บางตัวยังคงใช้ 2 ไบต์ 'int' ขนาด หมายความว่านักพัฒนาต้องแน่ใจว่าได้ตรวจสอบคอมไพเลอร์ที่ใช้อยู่เพื่อให้แน่ใจว่าโปรแกรมทำงานได้อย่างถูกต้อง
บทสรุป
ที่แน่นอน ขนาดของ C “int” ชนิดข้อมูลอาจแตกต่างกันไปตามคอมไพเลอร์ที่ใช้ โดยทั่วไปก็คือ 4 ไบต์ ทำให้สามารถจัดเก็บค่าได้หลากหลายมากขึ้น ที่กล่าวว่าคอมไพเลอร์บางตัวยังคงสามารถใช้ภาษา C ในลักษณะที่ ขนาดของ C “int” เป็น 2 ไบต์ ในที่สุดโปรแกรมเมอร์จะต้องตระหนักถึงคอมไพเลอร์ที่ใช้เพื่อกำหนดที่แน่นอน ขนาดของ C “int” .