社区
C语言
帖子详情
char与unsigned char 区别
zhongyuanceshi
2008-10-15 09:08:15
请问:char与unsigned char 有什么区别?在工程中什么时候用char 什么时候用unsigned char,谢谢!
...全文
24766
23
打赏
收藏
char与unsigned char 区别
请问:char与unsigned char 有什么区别?在工程中什么时候用char 什么时候用unsigned char,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shimocchi
2012-05-31
打赏
举报
回复
unsigned char 用作 byte咯?
qq493288977
2012-05-17
打赏
举报
回复
char 转 int 时,用符号扩展方式
unsigned char 转 int 时, 用零扩展方式
handanwxd
2011-05-10
打赏
举报
回复
[Quote=引用 9 楼 jackzhhuang 的回复:]
本质上都是8位,即一个字节
char会把最高位当作符号位,unsigned char则全部用作正数位数,于是产生了-128~127和0~255的范围区别。
什么时候用unsigned char呢?如果你想拿这8个字节做位运算就需要用unsigned char。
若你是以char读取这8个字节,由于最高位被当作符号位,若位运算大于127就会溢出。
[/Quote]
UP
六月云飞
2011-04-07
打赏
举报
回复
有符号,没符号的差别
redshark2010
2010-12-27
打赏
举报
回复
up.....................
wangyunlonggzh
2009-05-15
打赏
举报
回复
谁说字符是一样的?
xueyu32
2009-04-29
打赏
举报
回复
[Quote=引用 9 楼 jackzhhuang 的回复:]
本质上都是8位,即一个字节
char会把最高位当作符号位,unsigned char则全部用作正数位数,于是产生了-128~127和0~255的范围区别。
什么时候用unsigned char呢?如果你想拿这8个字节做位运算就需要用unsigned char。
若你是以char读取这8个字节,由于最高位被当作符号位,若位运算大于127就会溢出。
[/Quote]
Good..........
青葱岁月不可追
2008-10-16
打赏
举报
回复
[Quote=引用 10 楼 realdragon2 的回复:]
记得有一个陷阱, 当 unsigned char x=255时, x++之后, x的值变为0了.
[/Quote]
o(∩_∩)o...
ForestDB
2008-10-16
打赏
举报
回复
char就是char,unsigned char一般当byte用。
aozhi
2008-10-16
打赏
举报
回复
signed char -128~127
unsigned char 0~255
通过编译选项可以设置char为signed char、也可以设置为unsigned char。
tc就可以、自己找找吧。
once_and_again
2008-10-16
打赏
举报
回复
[Quote=引用 2 楼 elmnd 的回复:]
signed:-128~127,
unsigned:0~255
[/Quote]..
dumeifang
2008-10-16
打赏
举报
回复
[Quote=引用 3 楼 tangtang02520 的回复:]
补充一下:
char 可能是signed char,也可能是unsigned char。这个取决于你的编译器
如果是signed char ,8位的话取值范围是-128..127
而unsigned char 的取值范围是0..255
[/Quote]
up
xtdumpling
2008-10-16
打赏
举报
回复
mark
realdragon2
2008-10-15
打赏
举报
回复
记得有一个陷阱, 当 unsigned char x=255时, x++之后, x的值变为0了.
jackzhhuang
2008-10-15
打赏
举报
回复
本质上都是8位,即一个字节
char会把最高位当作符号位,unsigned char则全部用作正数位数,于是产生了-128~127和0~255的范围区别。
什么时候用unsigned char呢?如果你想拿这8个字节做位运算就需要用unsigned char。
若你是以char读取这8个字节,由于最高位被当作符号位,若位运算大于127就会溢出。
e_sharp
2008-10-15
打赏
举报
回复
表示的范围不同
LiTuX
2008-10-15
打赏
举报
回复
一般不会产生什么大的问题,只要你不是对它进行字节扩展。
在进行字节扩展时,比如将char或者unsigned char赋值到short,int,long等等,按%d格式输出等时,才会有不同。
但是,一般好像不会这么做的吧??(除非有特殊应用)
yangkunhenry
2008-10-15
打赏
举报
回复
[Quote=引用 3 楼 tangtang02520 的回复:]
补充一下:
char 可能是signed char,也可能是unsigned char。这个取决于你的编译器
如果是signed char ,8位的话取值范围是-128..127
而unsigned char 的取值范围是0..255
[/Quote]
up
Topkiller1141
2008-10-15
打赏
举报
回复
char 和 unsigned char是无符号的
两者都作为字符用的话是没有区别的,但当整数用时有区别:
char 整数范围为-128到127( 0x80__0x7F),
而unsigned char 整数范围为0到255( 0__0xFF )
多数情况下,char ,signed char 、unsigned char 类型的数据具有相同的特性然而当你把一个单字节的数赋给一个大整型 数域时,便会看到它们在符号扩展上的差异。另一个区别表现在当把一个介于128和255之间的数赋给signed char 变量时编译器必须先进行数值转化,同样还会出现警告。若使用十六进制进行赋值使用unsigned char 要方便一些.根据编译器具体实现情况不同,char要么和signed char等同,要么和unsigned char等同.
Longinc
2008-10-15
打赏
举报
回复
转换为整型数时,有表示范围的区别
加载更多回复(3)
QString含汉字时,完美转
char
*和
unsigned
char
*
此为QString无损转
char
*和
unsigned
char
* 。 当QString内容包含汉字时,转换
char
*等会发生失败。此接口解决了该问题。使用后
char
*与
unsigned
char
*的qDebug()输出与QString输出结果相同。 注意,该函数返回
unsigned
char
*使用完毕后记得delete。
unsigned
char
数组转成string 用16进制表示
实现将
unsigned
char
数组转成string型,用16进制显示。
WAV PCM声音转换工具库
PCM/WAVE工具库,提供各种PCM互相转换,PCM到WAVE转换 提供源码,价格面议
unsigned
char
linear2alaw(short pcm_val);;;;;;;; short alaw2linear(
unsigned
char
a_val);;;;;;;;
unsigned
char
linear2ulaw(short pcm_val);;;;;;;; short ulaw2linear(
unsigned
char
u_val);;;;;;;;
unsigned
char
alaw2ulaw(
unsigned
char
aval);;;;;;;;
unsigned
char
ulaw2alaw(
unsigned
char
uval);;;;;;;; short swap_linear (short pcm_val);;;;;;;; int alaw2ulawfile(
char
*InFile,
char
*OutFile);;;;;;;; int ulaw2alawfile(
char
*InFile,
char
*OutFile);;;;;;;; int linear2alawfile(
char
*InFile,
char
*OutFile);;;;;;;; int alaw2linearfile(
char
*InFile,
char
*OutFile);;;;;;;; int linear2ulawfile(
char
*InFile,
char
*OutFile);;;;;;;; int ulaw2linearfile(
char
*InFile,
char
*OutFile);;;;;;;; int linearswppingfile(
char
*InFile,
char
*OutFile);;;;;;;; int alaw2wavfile(
char
*InFile,
char
*OutFile);;;;;;;; int ulaw2wavfile(
char
*InFile,
char
*OutFile);;;;;;;; redpower2004@21cn.com 另外不会用的请不要随便评论.谢谢
char
与
unsigned
char
的本质
区别
在C中,默认的基础数据类型均为signed,现在我们以
char
为例,说明(signed)
char
与
unsigned
char
之间的
区别
。 首先在内存中,
char
与
unsigned
char
没有什么不同,都是一个字节,唯一的
区别
是,
char
的最高位为符号位,因此
char
能表示-127~127,
unsigned
char
没有符号位,因此能表示0~255,这个好理解,8个bit,最多256...
java
unsigned
char
_
char
与
unsigned
char
的本质
区别
在C中,默认的基础数据类型均为signed,现在我们以
char
为例,说明(signed)
char
与
unsigned
char
之间的
区别
首先在内存中,
char
与
unsigned
char
没有什么不同,都是一个字节,唯一的
区别
是,
char
的最高位为符号位,因此
char
能表示-128~127,
unsigned
char
没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无...
C语言
70,004
社区成员
243,256
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章