如何将unsigned char型转换成int型?

SunShowHeat 2004-08-12 04:10:34
rt
...全文
13372 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctan 2004-08-13
  • 打赏
  • 举报
回复
unsigned char uChar = 0xff;
转换成
int iNum = (int)uChar;

这个转换还可是隐式转换, 即
int iNum = uChar;
skystar2001 2004-08-13
  • 打赏
  • 举报
回复
补充:
上面不是-256~255
而是-32748~32767
skystar2001 2004-08-13
  • 打赏
  • 举报
回复
unsigned char 是一个8位的数
int是一个16位的数
转换时:
unsigned char *A;
int B;

可以用B=int(A)(显示转换)也可以用B=A(隐示转换,自动作符号扩展)
虽然已经转换成功,但要注意,转换后数的范围应该是0~255
不是-256~255

skystar2001 2004-08-13
  • 打赏
  • 举报
回复
unsigned char 是一个8位的数
int是一个16位的数
转换时:
unsigned char *A;
int B;

可以用B=int(A)(显示转换)也可以用B=A(隐示转换,自动作符号扩展)
虽然已经转换成功,但要注意,转换后数的范围应该是0~255
不是-256~255

Rojo.Cai 2004-08-13
  • 打赏
  • 举报
回复
俺是初学者。。俺不太懂
static_cast<int>
icelover 2004-08-13
  • 打赏
  • 举报
回复
使用static_cast<int>转换
bluejugar 2004-08-12
  • 打赏
  • 举报
回复
#include <iostream>
#if _MSC_VER > 1020
using namespace std;
#endif

int main(void)
{
unsigned char myChar = 'A';
unsigned char *A;
int B;
A = &myChar;
B = static_cast<int>(*A);

cout<<B<<endl;
return 0;
}
micty 2004-08-12
  • 打赏
  • 举报
回复
使用指针吧,指向改变就行
Asan13 2004-08-12
  • 打赏
  • 举报
回复
如果是数字的话。
B = A - '0';
比如A = '3','3','0'的ASCII分别是51,48。
B = 51 - 48 = 3
就转化成int的类型了。
bitcof 2004-08-12
  • 打赏
  • 举报
回复
其实没什么特别的,只要想到不管unsigned char* 还是int都是内存中的连续4个字节,计算机本身是不知道类型的区别的,不管编译器或者程序员认为它是什么类型,计算机只知道这4个字节中存储的东西是不会变的。类型只不过是让编译器知道这个4个连续的字节应该怎么解析和使用。unsinged char*到int的转换只是告诉编译器,这4个字节的解析和使用方法要作个转变,因此只要编译器本身支持这种类型转换运算,就可以在程序里使用这种转换。
antijpn 2004-08-12
  • 打赏
  • 举报
回复
我突然想起来,好像连前面的(int)都可以去掉吧?这个是小范围到大范围的转换,不会损失精度,编译器自己可以搞定的。

所以只要直接写B=A就可以了
ehhl 2004-08-12
  • 打赏
  • 举报
回复
指针就是地址,32位的情况下就是一个unsigned int 的无符号的32位整数,所以b=(int)a就Ok.
messinglong 2004-08-12
  • 打赏
  • 举报
回复
printf
qiushikong 2004-08-12
  • 打赏
  • 举报
回复
pointer is an int
lemon520 2004-08-12
  • 打赏
  • 举报
回复
指针本质上就是一个int
antijpn 2004-08-12
  • 打赏
  • 举报
回复
什么意思?楼上的转换就是unsigned char*到int了

不过不管怎么样,下面的都可以
B=(int)A;
SunShowHeat 2004-08-12
  • 打赏
  • 举报
回复
unsigned char *A;
int B;

怎么样把A转化成B?
ehhl 2004-08-12
  • 打赏
  • 举报
回复
what do you mean?
int(your unsigned char)?

70,005

社区成员

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

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