1,unsigned char什么意思

unsigned char意思是:无符号字符;无符号字符型;字节;无符号数;无符号的
unsigned char是字符类型。无符号字符; 无符号字符型; 字节; 无符号数; 无符号的;char是c/c++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如psos的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。

unsigned char什么意思

2,unsigned char和char的区别

在部分时候char或unsigned char的本质是8bit的整数,比如在图像领域,用8位数据描述灰度(或某一色彩分量)时通常使用unsigned char *类型的指针指向图像数据存储区域。这二者的主要区别于unsigned int和int的区别类似,就是最高位是否作为符号位。unsigned char表示范围为0~255,char的表示范围为-128~127
unsigned char是无符号字节型,char类型变量的大小通常为1个字节(1字节=8个位),且属于整型。整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据

unsigned char和char的区别

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  多少  字节  
下一篇