เราใช้ตัวแปรจำนวนเต็มและอักขระหลายครั้งในโปรแกรมของเรา เราจะมาดูกันว่าพวกมันถูกเก็บไว้ในหน่วยความจำอย่างไร
ใน C ค่าอักขระจะถูกเก็บไว้เป็นจำนวนเต็มด้วย ในโค้ดต่อไปนี้ เราจะใส่ 270 ลงในข้อมูลประเภทอักขระ ดังนั้นเลขฐานสองที่เทียบเท่า 270 คือ 100001110 แต่รับ 8 บิตแรกจากขวาเท่านั้น ดังนั้นผลลัพธ์จะเป็น (000011110) นั่นคือ 14 จากนั้นเก็บค่าไว้ในตัวแปร a นอกจากนี้ยังให้คำเตือนสำหรับน้ำล้น
ในตัวแปร y ถัดไป เรากำลังพยายามเก็บค่าลบว่า -130 จำนวนลบจะถูกเก็บไว้เป็นวิธีการเสริมของ 2 ดังนั้นเลขฐานสองของ 130 คือ (10000010) ค่าที่เสริมกันของ 2 คือ 01111101 + 1 =01111110 นอกจากนี้ยังใช้ 8 บิตที่ถูกต้องที่สุดอีกด้วย ดังนั้นผลลัพธ์จะเป็น (01111110) =126
ตัวอย่าง
#include <stdio.h>
int main() {
char x = 270;
char y = -130;
printf("The value of x is: %d\n", x);
printf("The value of y is: %d", y);
} ผลลัพธ์
The value of x is: 14 The value of y is: 126