标题:
关于单片机中什么时候用char型变量?
[打印本页]
作者:
pinenut
时间:
2018-1-24 21:12
标题:
关于单片机中什么时候用char型变量?
单片机中什么时候用char型(记得好像跟单片机八位接口有关系),为什么char型也能赋数值,网上说的char型赋数值本质上和int型一样,但是为什么一样,我需要补充一些什么知识
作者:
qq1105424012
时间:
2018-1-25 08:53
对于89C51,int类型的变量占据2个字节,char类型的占据1个字节。不过一般大家为了节约空间,大部分会使用char类型,同时89C51是一款8位的单片机,所以推荐使用char类型的变量进行运算,即使我们在代码中写入int类型的变量进行运算,也是编译器编译成为了8位的运算模式进行运算的。体现不了硬件的优势。
作者:
qq1105424012
时间:
2018-1-25 08:57
还有unsigned int(0~65536) 和unsigned char (0~255) 的范围 跟自己实际用到的相符合
作者:
ygsmart
时间:
2018-1-25 10:51
char型和单片机没啥关系,数据为一个字节
作者:
otagan
时间:
2018-1-25 11:01
1、保存-128到127的数字可以用char
2、char和int都是数据类型,自然都可以赋值,只不过保存的数据可以有不同的解释,比如当你printf %d输出时就是当成整型数字,printf %c 就是当成这个数字所代表的字符(由ASCII码表得)
作者:
yzwzfyz
时间:
2018-1-25 12:45
弄清单片机原理就懂了。希望加强原理方面的知识。
作者:
Steven159
时间:
2018-1-25 14:12
char定义的字符型变量和int定义的整形变量在一定场合可以互相转换使用的,但两者取值范围不同,char(0~255),int(0~65536)(这里的范围是按无符号变量取得),不过当程式变量定义需求过多时,合理的选择变量类型可以有效的节约ROM空间,
作者:
zl2168
时间:
2018-1-25 17:53
对于89C51,99%的数据用char型变量!
作者:
KawhiL
时间:
2018-1-25 18:41
准确的说很多时候应该用unsigned char 类型,为什么呢?
首先C语言里面 很多编译器默认int是4个字节,short int是两个字节,而char 相当于short short,它是为一个字节,也是为8位的,刚好对应了51单片机的一个口的管脚数,所以在移位的时候就很方便,不会有别的数据类型的那些麻烦。
为啥说要用unsigned char呢? 因为根据编译器的不同,char到底代表有符号数或者无符号数也不同。那么问题就来了。我们在做位运算的时候就有可能做的是逻辑左右移或者是算数左右移,而我们在51单片机里采用的经常是逻辑左右移,所以你要指定它为 unsigned char,否则它有可能是有符号数,会做算术左右移,这样有时候会给硬件表示带来一些很奇怪的现象。
当然你如果程序里对位操作没怎么使用,那你用其他的数据类型也行的。
作者:
liuxiuxiu
时间:
2018-1-25 19:49
char 占用字节比int 要少,够用就好
作者:
313947881
时间:
2018-1-26 16:27
stm32单片机 ,char ,int ,short 本质上是一样的,只是数据范围不同
作者:
fallune
时间:
2018-1-30 16:59
char 也就是一个字节,8个bit。也是最小的数据类型,如果数据不超过255,可以使用char用来省内存。包括ascii码,也是一个字节以内。某个寄存器8个bit,也可以使用char。
作者:
zl2168
时间:
2018-1-30 18:31
51单片机最匹配的数据类型是uchar,有些人习惯用int,说明他是半外行!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1