首页 热点资讯 义务教育 高等教育 出国留学 考研考公

在单片机中为什么还有uchar这个 怎么还有无符号字符,字符不都是无符号的吗???谢谢、

发布网友

我来回答

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型数据当整型数据使用可能你不大习惯吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com