分享

对有符号字符型的深入理解

 dingzi4178 2010-05-04
#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两种,因此转换时就要注意到底要转换成哪种类型,因此它们的取值范围不同。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多