ในC ,ภาษาที่ตัวเองไม่ได้ตรวจสอบการเป็นตัวแทนของประเภทข้อมูลบางอย่าง มันอาจแตกต่างจากเครื่องหนึ่งไปอีกเครื่องหนึ่งในระบบฝังตัวint
นั้นจะมีความกว้าง 16 บิต แต่โดยทั่วไปแล้วจะเป็น 32 บิต
ข้อกำหนดเพียงอย่างเดียวคือshort int
<= int
<= long int
ตามขนาด นอกจากนี้ยังมีข้อเสนอแนะว่าควรจะเป็นตัวแทนความจุพื้นเมืองของโปรเซสเซอร์int
ทุกประเภทมีการเซ็นชื่อ unsigned
ปรับปรุงช่วยให้คุณใช้บิตสูงสุดเป็นส่วนหนึ่งของค่า (มิฉะนั้นจะถูกสงวนไว้สำหรับบิตเครื่องหมาย)
นี่เป็นตารางสั้น ๆ ของค่าที่เป็นไปได้สำหรับประเภทข้อมูลที่เป็นไปได้:
width minimum maximum
signed 8 bit -128 +127
signed 16 bit -32 768 +32 767
signed 32 bit -2 147 483 648 +2 147 483 647
signed 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
unsigned 8 bit 0 +255
unsigned 16 bit 0 +65 535
unsigned 32 bit 0 +4 294 967 295
unsigned 64 bit 0 +18 446 744 073 709 551 615
ในJava , Java Language ข้อกำหนดกำหนดเป็นตัวแทนของประเภทข้อมูล
ลำดับคือ: byte
8 bits, short
16 bits, int
32 bits, long
64 bits ประเภททั้งหมดเหล่านี้มีการลงชื่อไม่มีรุ่นที่ไม่ได้ลงนาม อย่างไรก็ตามการจัดการบิตจัดการกับตัวเลขตามที่ไม่ได้ลงชื่อ (นั่นคือจัดการบิตทั้งหมดอย่างถูกต้อง)
ชนิดข้อมูลอักขระchar
มีความกว้าง 16 บิตไม่ได้ลงชื่อและเก็บอักขระโดยใช้การเข้ารหัส UTF-16 (อย่างไรก็ตามสามารถกำหนดchar
จำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อโดยไม่ได้ตั้งใจซึ่งแสดงถึง codepoint อักขระที่ไม่ถูกต้อง)
width minimum maximum
SIGNED
byte: 8 bit -128 +127
short: 16 bit -32 768 +32 767
int: 32 bit -2 147 483 648 +2 147 483 647
long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
UNSIGNED
char 16 bit 0 +65 535