char变量的范围是多少? -127至127或0至255?

时间:2018-11-29 17:58:53

标签: c++ char

我知道C ++具有3种类型的char变量。

ad_read

正确吗?那么,char到底是哪一个呢?

我的问题是我想使用需要* char参数的istream :: read函数。但是,我知道我的程序要读取的值将在0到255之间。

我怎么知道如果我这样做char // with range : -127 to 127 or 0 to 255 ?? signed char // with range : 0 to 255 unsigned char // with range : -127 to 127 ,将保证不会将读取的每件事设置为-127到127范围内的值?

edit:我知道我的char可以是两个范围,具体取决于我的平台/实现。正确?如果是,我如何知道我正在使用哪个平台/实现?它取决于我的IDE编译器吗?操作系统?

1 个答案:

答案 0 :(得分:1)

如果在您的平台上对char签名,则其-128到127。

如果您平台上的char是未签名的,则其0到255

limits.h中的CHAR_MAX将告诉您您拥有哪个

这当然全部基于您拥有8个字节字符的假设。 CHAR_BIT会肯定告诉您