char和signed char不同编译器下的使用反思
遇到一个问题,在使用一个算法的时候出现了仿真正常,但是在使用时出现函数的返回数据只有正值的异常。
在定位算法问题的时候,由算法函数最后的返回值由后向前推,最后发现问题在与char类型的值在不同编译器下定义的问题。
在char、signed char、unsigned char中char相当于signed char或者unsigned char,取决于当前的编译器
其中:
signed char取值范围是 -128 到 127
unsigned char 取值范围是 0 到 255
所以char在不同编译器下的取值范围可能时是128 到 127,也可能是0到255。
因此在不同编译器下使用char时要注意当前编译器下对char的定义。
专业的物联网解决方案提供商,提供基于wifi和蓝牙的从app 到模组芯片的一体化解决方案,长期承接乐鑫,BES,stm32,Telink等芯片的方案设计开发及服务。 商务合作和技术探讨:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |