发布网友
共4个回答
热心网友
uchar 一般指的是 unsigned char, 即无符号字符型,数值范围是0-255。
若是char型数据,数值范围是 -128-- +127。
C语言中没有字符型数据,所谓字符型实际是字节型。
由于uchar 不是C编译器默认的数据类型关键字,所以在某个头文件中或在C源程序开头一定有一句:
typedef unsigned char uchar;
或者:#define uchar unsigned char追问我的意思是说 符号带正负不像数字,有些奇怪。
热心网友
在单片机中,unsigned char 是无符号字节型数据,不能理解为字符,单片机是8位机,基本数据绝大部分都是单字节数据类型。所以要与普通C语言分清。
热心网友
数据取决于你如何解释。只要有需求,就可以用代码换取对某种数据类型的支持。
单片机连浮点都能支持,何况小小的有符号字符型……
热心网友
char 整数范围为-128到127( 0x80~0x7F)
而unsigned char 整数范围为0到255( 0~0xFF )追问我的意思是说 符号带正负不像数字,有些奇怪。
追答呵呵,你仔细想一想其实字符类型char就是数值范围为-128~127的整型,比如'A'的ASII码值为65。我觉得可能你以前学过C或C++,所以在你的印象当中认为char类型就应该是 'A'~'Z' '0'~'9'这些字符等。而C51中,经常拿char型数据当整型数据使用可能你不大习惯吧。
热心网友
uchar 一般指的是 unsigned char, 即无符号字符型,数值范围是0-255。
若是char型数据,数值范围是 -128-- +127。
C语言中没有字符型数据,所谓字符型实际是字节型。
由于uchar 不是C编译器默认的数据类型关键字,所以在某个头文件中或在C源程序开头一定有一句:
typedef unsigned char uchar;
或者:#define uchar unsigned char追问我的意思是说 符号带正负不像数字,有些奇怪。
热心网友
在单片机中,unsigned char 是无符号字节型数据,不能理解为字符,单片机是8位机,基本数据绝大部分都是单字节数据类型。所以要与普通C语言分清。
热心网友
数据取决于你如何解释。只要有需求,就可以用代码换取对某种数据类型的支持。
单片机连浮点都能支持,何况小小的有符号字符型……
热心网友
char 整数范围为-128到127( 0x80~0x7F)
而unsigned char 整数范围为0到255( 0~0xFF )追问我的意思是说 符号带正负不像数字,有些奇怪。
追答呵呵,你仔细想一想其实字符类型char就是数值范围为-128~127的整型,比如'A'的ASII码值为65。我觉得可能你以前学过C或C++,所以在你的印象当中认为char类型就应该是 'A'~'Z' '0'~'9'这些字符等。而C51中,经常拿char型数据当整型数据使用可能你不大习惯吧。