unsigned char与signed char之间的转换

kalony 2004-04-15 12:22:25
各位仁兄,请问如何能将unsigned char类数据转换成signed char类数据.
...全文
546 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
julyclyde 2004-04-15
  • 打赏
  • 举报
回复
即使超出也可以强制转换。反正长度一样
yjh1982 2004-04-15
  • 打赏
  • 举报
回复
就这样赋值么
alever513 2004-04-15
  • 打赏
  • 举报
回复
可以被隐式转化的
unsigned char hz = '6';
signed char h = hz; //隐式转化
cngdzhang 2004-04-15
  • 打赏
  • 举报
回复
如果数没有超出signed char 的表示范围,可以强制转换
unsigned char c;
signed char c2=(signed char)c;
kalony 2004-04-15
  • 打赏
  • 举报
回复
因为要调用一个函数,传入的参数类型必须是signed char类型,而原先得到的却是unsigned char类型.
moswawa 2004-04-15
  • 打赏
  • 举报
回复
不知道你想要什么样的结果?
army258 2004-04-15
  • 打赏
  • 举报
回复
超出强制会出错的吧!
强制转换!
其实它会自动由 signed转化 unsigned
lufeiyuan 2004-04-15
  • 打赏
  • 举报
回复
强制转换
减少库的使用,解决那些需要小代码量,但苦恼于没有简易的字符串处理函数的郁闷 char *itoa_private(int val, char *buf, unsigned radix);//整数转字符串 int my_isdigit(int ch);//判断字符是否为数字 long long StrToInt(const char *s,int sign);//字符串转数字 int atoi_32(const char *s);//将字符串str转换为32位整型,其正数的最值为0x7FFFFFFF,负数的最小值为0x80000000,考虑数字会溢出的情况 void LettersChange(unsigned char*str, unsigned char font);//大小写字母变成大小写字母 signed int st_strlen(unsigned char* str);//获取字符串长度 signed int st_strcmp(unsigned char *s,unsigned char *t);//比较两个字符串大小 unsigned char *st_strcpy(unsigned char *t,unsigned char *s);//字符串拷贝 signed int st_strncmp(unsigned char *dest,unsigned char *src,unsigned int Len);//可变长度字符串大小比较 signed char st_toupper(unsigned char c);//小写字符转化为大写字符 unsigned char *st_strcat(unsigned char *s,unsigned char *t);//字符串连接 signed int st_memcpy(unsigned char *dest, unsigned char *src, unsigned int Len);//可变长度内存拷贝 signed int st_memset(unsigned char *dest,unsigned char byte, unsigned int Len);//设置长度为Len的内存块为byte signed int st_memcmp(unsigned char* dest, unsigned char* src, unsigned int Len);//内存段内数据比较 int gsmInvertNumbers(const char* pSrc, char* pDst, int nSrcLength);//正常顺序的字符串转换为两两颠倒的字符串,若长度为奇数,补'F'凑成偶数 int gsmSerializeNumbers(const char* pSrc, char* pDst, int nSrcLength);//两两颠倒的字符串转换为正常顺序的字符串 int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength);//7bit编码 int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength);//7bit解码 int gsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength);//可打印字符串转换为字节数据 int gsmBytes2String(const unsigned char* pSrc, char* pDst, int nSrcLength);//字节数据转换为可打印字符串

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧