Computer >> Máy Tính >  >> Lập trình >> lập trình C

Lưu trữ các giá trị số nguyên và ký tự trong C

Chúng tôi đã sử dụng các biến số nguyên và ký tự nhiều lần trong chương trình của mình. Ở đây chúng ta sẽ xem cách chúng được lưu trữ trong bộ nhớ.

Trong C, các giá trị ký tự cũng được lưu trữ dưới dạng số nguyên. Trong đoạn mã sau, chúng ta sẽ đặt 270 vào một dữ liệu kiểu ký tự. Vì vậy, tương đương nhị phân của 270 là 100001110, nhưng chỉ lấy 8 bit đầu tiên từ bên phải. Vậy kết quả sẽ là (00001110), tức là 14. Sau đó lưu giá trị vào biến a. Nó cũng đưa ra cảnh báo tràn.

Trong biến tiếp theo y, chúng tôi đang cố gắng lưu trữ số âm, giả sử -130. Số âm sẽ được lưu trữ dưới dạng phương pháp bổ sung của 2. Vì vậy, số nhị phân của 130 là (10000010). Giá trị bổ sung của 2 là 01111101 + 1 =01111110. Đây cũng là giá trị 8 bit phù hợp nhất được sử dụng. Vậy kết quả sẽ là (01111110) =126

Ví dụ

#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);
}

Đầu ra

The value of x is: 14
The value of y is: 126