2018-09-30

首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。

#include

void main()
{
    char a[]={0X7F, 0X01, 0X12, 0X01, 0X00, 0XD2, 0X00, 0X00, 0X03, 0XE9};
    unsigned char b[]={0X7F, 0X01, 0X12, 0X01, 0X00, 0XD2, 0X00, 0X00, 0X03, 0XE9};
    int i;

    for(i=0; i<10; i++) //0XD2,0XE9超出范围127
        printf("%02X ",a[i]); 
    printf("\n");

        for(i=0; i<10; i++)
        printf("%02X ",b[i]); 
    printf("\n");
}

你可能感兴趣的:(2018-09-30)