社区
C语言
帖子详情
如何将unsigned char型转换成int型?
SunShowHeat
2004-08-12 04:10:34
rt
...全文
13372
18
打赏
收藏
如何将unsigned char型转换成int型?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)?
C语言
unsigned
char
、
char
与
int
之间的转换
C语言
unsigned
char
、
char
与
int
之间的转换 2016年10月23日 18:40:50 bladeandmaster88 阅读数:11347更多 个人分类: c语言基础 先来看一道题:
char
c1 =-1; cout<< (
int
)c1 << endl; 输出为:-1
unsigned
char
c2 = -1; cout <&l...
char
和
unsigned
char
强制
转换成
int
后的差异
最近有人提到
char
和
unsigned
char
有什么区别,当然这个问题如果刚学计算机或者编程语言的人来说,非常简单。我也这么认为,无非就是有符号和无符号的差别嘛。 这个问题让我想到了以前学习计算机常识的时候关于补码,原码,反码的差异。这里摘取参考文章【1】中的部分内容: 注意:此处的'=='是相等的意思。'='是赋值的意思。 在机器世界里: 正数的最高位是符号位0,负数的
unsigned
char
类
型
和
unsigned
int
类
型
相互转化
写单片机程序的时候经常遇到
unsigned
char
类
型
和
unsigned
int
类
型
相互转化 下面写一个简单的例子实现互相转化的过程,比较简单,直接上代码。 #include<stdio.h> #define u
int
8
unsigned
char
#define u
int
32
unsigned
int
#define BREAK_U
INT
32( var, ByteNum ) ...
char
,
unsigned
char
,
int
,
unsigned
int
之间的相互转换
最近写代码的时候发现一个问题,我有一个数据是放在两个寄存器中的,一个表示高8位,一个表示低八位,我的这个数据是有符号的,那我在算出数据的时候就需要把两个寄存器的值进行合并了,这样就需要把数据从
char
转换到short类
型
了。 现在假定我有两个
char
型
数据ch1,ch2。需要把结果写入一个short
型
的数据data。假定ch1为低8位数据,ch2为高8位数据 最开始我是这样写的: data...
char
型
强制转换为
unsigned
int
型
char
型
强制转换为
unsigned
int
型
今天有同学说要问我一个问题, 我说发生甚麽事了。 他说
char
型
转
unsigned
型
后是怎么拓展的。 我说年轻人不讲武德,这不是上个代码就行了,还来偷袭我一个20岁的小同志。(打住) 先给出结论:按符号位拓展,也就是说当我们要传送时mov的格式应为movs 上代码: #include<cstdio> #include<iostream> using namespace std;
int
main() {
char
c = 0x
C语言
70,005
社区成员
243,256
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章