这边文章里面写得很好,http://blog.csdn.net/sinat_20265495/article/details/51733015,我自己写一下总结。
char、signed char、unsigned char
char的定义是有编译器来实现的,VC编译器、x86上的GCC都把char定义为signed char,而arm-linux-gcc却把char定义为 unsigned char。
signed与unsigned是相对于在计算机内部编码表示来说的。
不知道这样子理解可不可以。
char的范围为-128~127即80~ff,00~7f,负数用补码表示;
unsigned char范围为0~255即00~ff。
第一行输出的45794是“测”的GBK的编码十进制。