c语言中的int float 变为汇编的问题

wyb_45 2004-04-19 10:14:07
int a=3;对应
mov [ebp-0x0c],0x00000003;
float a=3;对应
mov [ebp-0x0c],0x40400000;

为什么是这样的呢?
CPU对浮点型是怎么处理的?
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyb_45 2004-04-23
  • 打赏
  • 举报
回复
我知道是怎么会事儿了
dunkel 2004-04-19
  • 打赏
  • 举报
回复
可以参照下面的这个 pdf 文件中从 42 页开始的有关浮点数格式的介绍

第2章数据的表示 南京大学计算机系 多媒体技术研究所 袁春风
http://aim.nju.edu.cn:8080/mill/Slides/chap2.pdf
wyb_45 2004-04-19
  • 打赏
  • 举报
回复
怎么做呢?
W32API 2004-04-19
  • 打赏
  • 举报
回复
CPU 根据指令把数据直接装入浮点寄存器,3.0 转换为二进制数据是 C 编译器做的事,在汇编下你得自己做

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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