unsigned char 和char 怎么样转换?

时间:2008-06-20 13:46:26   来源:论坛整理  作者:  编辑:chinaitzhe
unsigned char 和char 怎么样转换?
用c builder 的RichEdit1->Lines->Add(Anstring)
Add 假如是char类型 可以做为Add的参数,
Add 假如是 unsigned char 报错E2034 Cannot convert 'unsigned char *' to 'AnsiString'

网友回复:强制转换。(char*)
网友回复:unsigned char是 0~255
char是-127~128
范围不一样 转换会溢出
可能这样给个参考
C/C code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





char change(unsigned char c)

{

if(c<=128)

return c;

else

return c-127;



} 




网友回复:很怪..你richedit里面怎么会加 unsigned char*的东西..
网友回复:
引用 2 楼 richbirdandy 的回复:
unsigned char是 0~255
char是-127~128
范围不一样 转换会溢出
可能这样给个参考

C/C code
char change(unsigned char c)
{
if(c <=128)
return c;
else
return c-127;

}

不好意思
char是-127~127
char change(unsigned char c)
{
if(c <=127)
return c;
else
return c-255;
}
这是在win32下
网友回复:
引用 2 楼 richbirdandy 的回复:
unsigned char是 0~255
char是-127~128
范围不一样 转换会溢出
可能这样给个参考

C/C code
char change(unsigned char c)
{
if(c <=128)
return c;
else
return c-127;

}


char应该是有符号的,楼上似乎全部弄成正数了

直接用强制转换 (char)c
网友回复:别想复杂了,实际上都一样,做字符串运算不必区分, 直接强制转换.
假如涉及数值计算就要注重区别了.
网友回复:强制转换即可
引用 6 楼 artman 的回复:
别想复杂了,实际上都一样,做字符串运算不必区分, 直接强制转换.
假如涉及数值计算就要注重区别了.
关键字:unsigned,char,char,转换,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面