社区
C语言
帖子详情
关于类型强制转换的问题
lxb316
2010-03-04 11:14:49
char buf[2] = {0xd2,0xfa};
float f = *((short *)buf);
最终的结果 f = -1326.0000
1、是如何计算的?
2、如何反计算? 就是如果已知f的值,反过来求buf?
...全文
136
11
打赏
收藏
关于类型强制转换的问题
char buf[2] = {0xd2,0xfa}; float f = *((short *)buf); 最终的结果 f = -1326.0000 1、是如何计算的? 2、如何反计算? 就是如果已知f的值,反过来求buf?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lxb316
2010-03-05
打赏
举报
回复
谢谢各位大侠,谢谢yuzl32、 stardust20(东东)、dubiousway
lxb316
2010-03-05
打赏
举报
回复
结贴给分,谢谢yuzl32
Fanwei_hit
2010-03-05
打赏
举报
回复
学习................
stardust20
2010-03-04
打赏
举报
回复
char buf[2] = {0xd2,0xfa};//从高到底就是0xfad2
float f = *((short *)buf);//以(short)的方式对内存中的0xfad2进行取值,转化为二进制也就是
1111101011010010。。负数在内存中以补码的形式存放。。所以要取反再加1...也就是-0000010100101110。。然后就等于-1326
然后再把这个数赋值给f
-1326.0000
huichengongzi
2010-03-04
打赏
举报
回复
学习学习学习学习学习学习中……
tianmo2010
2010-03-04
打赏
举报
回复
是,顶!~~
哈哈哈
dubiousway
2010-03-04
打赏
举报
回复
一个大数,一般在内存中存储的时候,就是数的低位(低字节)放在低地址的内存;数的高字节放高地址内存
比如 数(16进制) 是:0x12345678 (4 byte)
78 是低位,所以存放在地址最低的内存;
12是高位,放高地址
对数组来说 char buf[1024], buf[0] 。。。。buf[1023] 地址依次增高
yuzl32
2010-03-04
打赏
举报
回复
2、如何反计算? 就是如果已知f的值,反过来求buf?
--------
short s = (short)f;
buf[0] = ((char *)(&s))[0];
buf[1] = ((char *)(&s))[1];
机智的呆呆
2010-03-04
打赏
举报
回复
如何反计算? 就是如果已知f的值,反过来求buf?
反计算的话,lz得弄清楚float的存储方式
float和double变量的内存布局~~~~~~
http://blog.csdn.net/Demon__Hunter/archive/2008/12/20/3566232.aspx
huichengongzi
2010-03-04
打赏
举报
回复
顶!顶!顶了再看
哈呵呵。哈哈哈
yuzl32
2010-03-04
打赏
举报
回复
char buf[2] = {0xd2,0xfa};//从高到底就是0xfad2,也就是-1326.00
C语言(强制
类型
转换)
C语言强制
类型
转换
C++
类型
强制转换
C++
类型
强制转换
的四种方法 static_cast const_cast dynamic_cast reinterpret_cast 强制
类型
转换是有一定风险的,有的转换并不一定安全,如把整型数值转换成指针,把基类指针转换成派生类指针,把一种函数指针转换成另一种函数指针,把常量指针转换成非常量指针等。 有C
强制转换
,为什么C++还需要重新定义? C语言的
强制转换
,只需要在转换的
类型
前面使用括号包含
强制转换
的
类型
即可,而这个括号内是可以为任何
类型
,也就是说,C的
强制转换
可以把想要的任何东西转换成合乎心意
Java
类型
强制转换
1.背景 在Java中,之所以需要强制
类型
转换是为了防止程序员在不知情的情况下把A
类型
数据错当成B
类型
的数据。将一种
类型
的值赋给另一个
类型
的变量是很常见的,如果这两种是兼容的,那么Java将执行自动转换,例如int和long,将int
类型
赋值给long
类型
的变量,总是可行的。但不是所有的
类型
都兼容。例如,没有将double
类型
转换为byte型的定义。但是不兼容的
类型
之间的转换仍然
python如何
强制转换
数据
类型
,python数据
类型
强制转换
的方法
python数据
类型
强制转换
的方法发布时间:2020-06-22 16:43:25来源:亿速云阅读:101作者:清晨这篇文章将为大家详细讲解有关python数据
类型
强制转换
案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.字符强转一切如果是字符串进行
强制转换
, 仅仅就是在原数据
类型
的两边套上引号2.list :
强制转换
成列表"""如果是字符串,会把每一个字...
C语言强制
类型
转换
强制
类型
转换是把变量从一种
类型
转换为另一种数据
类型
。例如,如果想存储一个 long
类型
的值到一个简单的整型中,需要把 long
类型
强制转换
为 int
类型
。可以使用强制
类型
转换运算符来把值显式地从一种
类型
转换为另一种
类型
,如下所示: (type_name) expression 请看下面的实例,使用强制
类型
转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数: #include <stdio.h> int main() { int sum = 17, count =
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章