Unsigned char

VNROOY 2011-12-10 08:48:40

我想把210的ASCII输出来 ,结果什么都没有啊,咋回事?

void main()
{
int a=210;
unsigned char b;
b=( unsigned char)a;
cout<<b;

}
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小菩提的尾巴 2011-12-11
  • 打赏
  • 举报
回复
看来我理解错了。。。
yisikaipu 2011-12-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vnrooy 的回复:]其实 我就是要输出210的ASCII啊 各位[/Quote]

这个取决于codepage的

假设是简体中文的

int main ()
{
setlocale(LC_ALL,".936");
unsigned char i=210;
wprintf(L"ascii %u in codepage 936:\t%c\n",i,i);
return 0;
}


输出:
ascii 210 in codepage 936:      ò
请按任意键继续. . .
「已注销」 2011-12-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hjd1399 的回复:]
unsigned char 最大是127
char 可以保存255-1
[/Quote]
---------
不对,char可以保存的值范围由编译器决定,可能是unsigned char 0~255,或是signed char -127(-128)~127。上面是unsigned char 因此210肯定在取值范围里。

210的ascii字符比较特殊在命令行窗口显示不出来而已
duke56 2011-12-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hjd1399 的回复:]

unsigned char 最大是127
char 可以保存255-1
[/Quote]

可存储的范围是一回事,可显示的又是一回事...

128以下的大多可显示,像回车等就不能显示了
小菩提的尾巴 2011-12-10
  • 打赏
  • 举报
回复
printf("%x", a)
VNROOY 2011-12-10
  • 打赏
  • 举报
回复
其实 我就是要输出210的ASCII啊 各位
hjd1399 2011-12-10
  • 打赏
  • 举报
回复
unsigned char 最大是127
char 可以保存255-1
gameslq 2011-12-10
  • 打赏
  • 举报
回复
ascii 码为210的为不可显示字符,所以显示不出来
可以修改为 int a=41; 41 就能看到效果了。
shun_qizi_ran 2011-12-10
  • 打赏
  • 举报
回复
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧