|
#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; } 上面的例題已經(jīng)說明了一部分,下面再對(duì)以前理解的字符型的誤區(qū)進(jìn)行闡述。
原來一直以為符號(hào)型就是為了ASCII碼規(guī)定的那256個(gè)符號(hào),因此當(dāng)遇到有符號(hào)字符型時(shí)就不知道為什么了,不知道為什么會(huì)帶符號(hào)。
現(xiàn)在我對(duì)符號(hào)型有了更加深入的認(rèn)識(shí),符號(hào)型不僅僅有代表ASCII碼規(guī)定的256個(gè)字符的功能,還有其他功能。比如定義一個(gè)int型,它占4個(gè)字節(jié),但是需要取它的最低1個(gè)字節(jié),因此就可以將它強(qiáng)制類型轉(zhuǎn)換成char型。我認(rèn)為char型更大的作用是代表一個(gè)字節(jié)。
char型又分為unsigned char和char兩種,因此轉(zhuǎn)換時(shí)就要注意到底要轉(zhuǎn)換成哪種類型,因此它們的取值范圍不同。
|
|
|