我想知道unsigned char 和 char有什么区别?是不是和编译器有关?如果是,那么在vc下怎样? 如果他们没有区别,为什么有两个呢? |
|
5分 |
有无符号啊,char是否有符号我印象中是编译器相关的,但是实际上大多数编译器都是带符号的。
有无符号的区别是很大的, 比如这样的比较 foo 将永远不会被调用。 |
char就是单字节数据 , 放数据值的。有效数据位是8位
无符号的有效数据位为7位,第一位为符号位 |
|
5分 |
开来你真是“混合体”,你说反了。
你定义一个char a和unsigned char a,然后被他们都赋个-1试试。 第一个的值打印出来就是-1,第二个的值打印出来就是255。 所以是他们的取值范围不同,char是-127~128,unsigned char是0~255 |
5分 |
C++编译器把 char, signed char, unsigned char看作不同的类型
VC中char缺省为signed char,可用/J编译参数来改变 signed char, unsigned char差别主要体现在于int互相转化的时候 |
哈哈哈哈
|
|
255和127的区别
|
|
5分 |
如果不进行数字相关的操作,关系倒不大
|
5分 |
char -127~128
unsigned char 0~255 楼上说的对,“ 如果不进行数字相关的操作,关系倒不大”。但如果用于计算则应当小心符号的问题。 |
我明白了,谢谢各位,截帖散分喽~
|