#include <iostream>
using namespace std;
int main()
{ char a; unsigned char b; for (int i = 0; i < 256; i++) { a = (char)i; b = (unsigned char)i; printf("a:%d\n",a); printf("b:%d\n",b); // if (a != b) cout << i << endl; } int d = 0x999; int c = 0x12; char e; e = (char)d; printf("%c\n",e); printf("%d\n",e); printf("%c\n",c); printf("%d\n",c); return 0; } 上面的例题已经说明了一部分,下面再对以前理解的字符型的误区进行阐述。
原来一直以为符号型就是为了ASCII码规定的那256个符号,因此当遇到有符号字符型时就不知道为什么了,不知道为什么会带符号。
现在我对符号型有了更加深入的认识,符号型不仅仅有代表ASCII码规定的256个字符的功能,还有其他功能。比如定义一个int型,它占4个字节,但是需要取它的最低1个字节,因此就可以将它强制类型转换成char型。我认为char型更大的作用是代表一个字节。
char型又分为unsigned char和char两种,因此转换时就要注意到底要转换成哪种类型,因此它们的取值范围不同。
|
|
来自: dingzi4178 > 《程序语言》