1,unsigned int多少位

用C写程序,和单片机本身是几位单片机没有任何关系的。你定义了一个int 数据,内存就分配给它两个字节。所以int数据都是16位的。unsigned int 数据是无符号整形,最高位不表示符号,所以从0000,0000,0000,0000B------1111,1111,1111,1111B.

unsigned int多少位

2,输入一个整数求它各位数字之和及位数

int data/ //要求的整数unsigned char a[20]; //存放data的各位数字int count = 0; //data的位数do a[count++] = data%10; data /= 10;}while(data>0);//......//接下来求和应该会了吧~~

输入一个整数求它各位数字之和及位数

3,unsigned char byte

看样子,这写的是一个spi传输协议的一个读函数。因为这种程序是与硬件紧密相关的,所以以下也只能是猜测。1. 此函数是用来从 spi从设备上读取数据的。2. 这种数据的读取,是以写入数据为前提的。即只有向里写8位,才能读出8位。3. unsigned char byte 中 声明了一个为无符号8位的char类型byte变量,unsigned char 是类型,byte是变量名。 SPIODAT 应该是SPI总线的数据寄存器,SPIODAT = byte就是表示向寄存器中写入数据。 while(!SPIF) SPIF 应该是SPI总线的标志位。表面意思是当SPIF = 0 是无限循环,其实就是来等待SPI总线数据传输完毕。 SPIF = 0 当数据总线传输完毕后,SPIF应该是等于1的。因为下面要读出数据,所以在这里设置为0,表示数据已经读出,为下次数据传输做准备。 return SPIODAT,就是刚从 SPI从设备上读取的数据。 这里的0xFF其实是没有什么意义的,只是用来从 SPI从设备上读取数据而凑齐的8位数据。(但我不确定其它值可以不可以,因为有的规定在读取数据时,必须写入这个值0xFF)

unsigned char byte


文章TAG:unsignedunsigned  char  多少位  unsigned  int多少位  
下一篇