51单片机keil的编程问题 5

在keil中编程时,我们要定义一个变量,一般会用unsignedchari;我想请问一下,这里的char与int有什么区别呢?不应该只是占用内存大小的区别吧。有没有什么情... 在keil中编程时,我们要定义一个变量,一般会用unsigned char i; 我想请问一下,这里的char与int有什么区别呢?不应该只是占用内存大小的区别吧。有没有什么情况只能用int或者只能用char型的? 展开
 我来答
lycdl
高粉答主

2019-04-19 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4742万
展开全部
unsigned char 和 unsigned int 的区别就是位数不同吗,前者是8位二进制数,最大值是255,占用一个字节内存。而后者是16位数,最大数是65535,占用两个字节内存。当数据大于255,就必须用int型。而数据小于256时,就尽量用char型,不要用int型,以节省单片机内存。因单片机内存很有限,要节省内存的使用,最单片机编程的基本要求。
0开拓者0
2019-04-19 · TA获得超过1404个赞
知道小有建树答主
回答量:1333
采纳率:72%
帮助的人:360万
展开全部
就是一个单字节一个双字节,用char的地方都可以用int,用int的地方用char可能溢出。就如同用两个不一样大的杯子接水一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
童之新
2019-04-20 · TA获得超过228个赞
知道小有建树答主
回答量:289
采纳率:60%
帮助的人:80.2万
展开全部
在我们现代的电脑中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类型,只要你内存多的情况下,不怕浪费多点资源
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式