char和uchar区别。

如题所述

1、char 是有符号的 ,uchar(unsigned char) 是无符号的,8-bit无符号整形数据,里面全是正数。

2、两者当整数用时有区别: 

char 整数范围为-128到127( 0x80__0x7F),而unsigned char 整数范围为0到255( 0__0xFF ) 有时候想把整数数值限在255范围内,也用unsigned char

扩展资料:

char和uchar功能介绍:

char用于C或C++中定义字符型变量,只占一个字节,取值范围为 -128 ~ +127(-2^7~2^7-1)。

C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以v编译为带符号的,也可以编译为不带符号的。

unsigned char是无符号字节型,char类型变量的大小通常为1个字节(1字节=8个位),且属于整型

整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。

无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。

同样,在32位系统中一个char类型一般为8个bit,所以能存储的数据范围为-128~127,而unsigned char则是0~255,字符型所存储的数据是用来表示字符的,例如ASCⅡ或Unicode。

参考资料来源:百度百科—char

参考资料来源:百度百科—uchar(unsigned char)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
  char有符号型型变量,全称为signed char,一般缩写为char,范围是-128~127。uchar在C语言中不存在,会出现语法错误。unsigned char 是无符号型变量范围是 0~255。
  但大家为了书写简单,大家都做如下定义:这时候Uchar或uchar就可以当无符号型字符变量使用了:
  typedef unsigned char Uchar;
  typedef unsigned char uchar。
第2个回答  2011-08-03
char:-128~127;uchar:0-255本回答被提问者采纳
第3个回答  2011-08-03
char 的取值范围 -128 - 127
uchar 的取值范围 0 - 255
相似回答