51单片机keil的编程问题 5
在keil中编程时,我们要定义一个变量,一般会用unsignedchari;我想请问一下,这里的char与int有什么区别呢?不应该只是占用内存大小的区别吧。有没有什么情...
在keil中编程时,我们要定义一个变量,一般会用unsigned char i; 我想请问一下,这里的char与int有什么区别呢?不应该只是占用内存大小的区别吧。有没有什么情况只能用int或者只能用char型的?
展开
3个回答
展开全部
就是一个单字节一个双字节,用char的地方都可以用int,用int的地方用char可能溢出。就如同用两个不一样大的杯子接水一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在我们现代的电脑中int是为4个字节的,但在51单片机中,int型只有2个字节,具体为什么会这样你自己再去深入吧。
51的内存资源很少,不像我们的现在电脑随便就有4G,8G的内存,51的RAM一般只有256个字节,资源很少,所以定义数据类型能少尽可能少。比如你的unsigned char i;你的变量 i 的取值范围只有0~255,如果是char i;则取值范围为-128~127。unsigned int i;则可以取0~65535,你用int完全可以替代char类型,只要你内存多的情况下,不怕浪费多点资源
51的内存资源很少,不像我们的现在电脑随便就有4G,8G的内存,51的RAM一般只有256个字节,资源很少,所以定义数据类型能少尽可能少。比如你的unsigned char i;你的变量 i 的取值范围只有0~255,如果是char i;则取值范围为-128~127。unsigned int i;则可以取0~65535,你用int完全可以替代char类型,只要你内存多的情况下,不怕浪费多点资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询