单片机编程中经常使用unsigned char这个数据类型?而且还用它来保持整数,为什么不使用int 来保存整数呢

char不是用来保存字符的吗?为什么还用它来保存整数,这样整数存储会不会有问题呢?
如果考虑字节的问题,那么使用sint不行吗?

因为单片机的内存小, unsigned char是一个字节,int比前者占空间大,而很多情况下,一个字节来定义变量已经足够使用,比如只要变量大小在0~255之间时,用unsigned char占一个字节,用int虽然也可以囊括0~255,但是占的内存空间就很大。为了节约内存,所以就经常使用unsigned char
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-02
unsigned char类型是8 位二进制数,可表示的数值是0到255
称它为字符型变量,大概是因为 所有的英文字符都在它的范围之内
但这些字符值都小于128
用它来存储整形数据会出问题,毕竟它的表示范围有限, 多数整型数据装不进去它这个模子
第2个回答  2012-07-02
char 的范围是0-255 ; 无符号字符型 如果超出这个范围了,那么多出来的都是无效的!
第3个回答  2012-07-02
单片机内存很有限,如果我一个字节就能表示的变量,我要是用2个字节,或者4个字节去表示,是不是浪费了单片机的内存?
相似回答