c语言判断负数问题
在KEIL中,遇到负数的问题,判断不了比如
x=0-1;
if (x<0)
x=0;
这样的语句,运行后X并不等于0,是什么情况 x的变量类型是什么 是啊,如沙发所问,如果类型是无符号型的,那就是2^n-1了 signed char x和 unsigned char x 在执行了x=0-1之后,一个是-1,一个是255 x是无符号类型的话,当然无法为负 no signal 数据类型要先定义 这跟X类型有关. 编译器看X 是无符号的, 那么不管对 x作什么操作x永远不会小于0 调试时看看X是多少啊 这么多热心人,楼主还没解决? 明白了,负数变量要定义为signed char
楼主这次印象深刻了吧,以后不能犯这种错误了。做技术的不能显得太不专业了。 楼主这次印象深刻了吧,以后不能犯这种错误了。做技术的不能显得太不专业了。 楼主这次印象深刻了吧,以后不能犯这种错误了。做技术的不能显得太不专业了。 lsn_tj 发表于 2014-12-26 22:58
楼主这次印象深刻了吧,以后不能犯这种错误了。做技术的不能显得太不专业了。 ...
楼主已经很深刻了,呵呵。你这连着三遍,楼主铭记一生啊! 进来看真像的{:loveliness:} 好欢乐的帖子,楼主是不是定义成char了 gonggu8181 发表于 2014-12-26 23:07
楼主已经很深刻了,呵呵。你这连着三遍,楼主铭记一生啊!
哈哈,这次真记住了 不好意思啊,网络有点忙,点“回复”次数多了点。 不要相信 Char 的数据范围是多少,C没有规定的,因此自己显式定义有没有符号吧 呵呵,显然是符号数的问题 基础知识点。 大哥 变量类型定义了没有啊???
页:
[1]