首页
社区
课程
招聘
[旧帖] [求助]C++的一个简单问题4 0.00雪花
发表于: 2011-3-10 18:06 1326

[旧帖] [求助]C++的一个简单问题4 0.00雪花

2011-3-10 18:06
1326
#include <iostream>
using namespace std;
int main ( )
{char c1,c2;
int i1,i2;                  //定义为整型
cout<<"请输入两个整数i1,i2:";
cin>>i1>>i2;
c1=i1;
c2=i2;
cout<<"按字符输出结果为:"<<c1<<" , "<<c2<<endl;
return 0;
}
因为一个字符在内存中占一个字节,占8个位,所以赋给字符的值应在0~255之间,我想问若把-132和1000分别赋给c1和c2,执行程序得到c1=¦,c2却没符号或是空格,c1和c2的符号是怎么算出来的?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 45
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
ASCII..
2011-3-10 18:48
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
取低字节的十进制分别为124 232  你对照一下ASCII 神码表就行了
2011-3-10 18:49
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼上的正解~
LZ看书仔细点~
2011-3-11 00:55
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
5
char 分有符号和无符号的.具体是否有符号可以在编译器里设置.
有符号的范围是 -128 - 127
无符号就是 0 - 255
ascii 码的范围是 0 - 127
2011-3-11 09:44
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
确实看书要仔细的
2011-3-11 15:15
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
1:char的全称是:signed char,即有符号的字符类型,范围在-128~127
2:你把一个整型的数据赋给c1,如果这个整型的数据范围在-128~127还好,如果越界,那值就被截断了。你可以认为你得到了一个错误的值,应该把~128~127的值赋给c1
2011-3-11 15:28
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
8
这是错误的。 char 就是 char ,是否有符号取决于编译器的设置。有些默认是有符号的,而有些默认为无符号。目的是为了兼容以前的代码。
2011-3-12 17:47
0
雪    币: 122
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
简单地说,输入值被赋予在一个临时地址内,再通过转换赋给你所定义的变量。当发生越界时,取低字节给char。
2011-3-12 18:05
0
游客
登录 | 注册 方可回帖
返回
//