读书人

==============signed char 门类求解=

发布时间: 2013-04-02 12:35:26 作者: rapoo

==============signed char 类型求解============


signed char a=-128;
signed char b=128;

printf("%d",b);


书上说signed char的取值范围是-128~127,为什么我这里赋值为128可以?
我是amd 64的多核cpu.谢谢。
[解决办法]
赋值当然可以。
反正都是一堆2进制位而已。

[解决办法]
赋值当然可以,但是当你计算ab的大小关系的时候就会出BUG了
[解决办法]
赋值从语法上来讲是合法的,从逻辑上来讲会有隐患,给signed char赋值128会自动转换为-128,而程序员可能会因此犯错。

引用:
C/C++ code?1234signed char a=-128;signed char b=128; printf("%d",b);

书上说signed char的取值范围是-128~127,为什么我这里赋值为128可以?
我是amd 64的多核cpu.谢谢。

[解决办法]
引用:
赋值当然可以。
反正都是一堆2进制位而已。

++

读书人网 >C语言

热点推荐