uchar和char、schar的区别

一、ucahr:图像处理中常常使用的一种数据类型uchar,一般它指的就是unsigned char,是一种8-bit无符号整形数据,范围为[0, 255],可以查到它的定义为:

typedef unsigned char uchar;

二、schar:与uchar相对应的是schar,定义为

typedef signed char schar;

取值范围是[-128, 127],与8-bit图像的灰度级[0, 255]一一对应,所以图像灰度操作的时候经常使用(十六进制的0xff对应于十进制的255)。

#define CHAR_BIT      8         /* number of bits in a char */
#define SCHAR_MIN   (-128)      /* minimum signed char value */
#define SCHAR_MAX     127       /* maximum signed char value */
#define UCHAR_MAX     0xff      /* maximum unsigned char value */

三、char:char是C/C++整型数据中比较古怪的一个,是一个可容纳单个字符的数据类型,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数,取值范围是[-128, 127]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值