你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

IAR编译器赋值问题

[复制链接]
dkblue 提问时间:2018-7-7 15:40 /
没有赋值成功,这是怎么回事,求解
1.jpg
收藏 评论4 发布时间:2018-7-7 15:40

举报

4个回答
黑皮男 回答时间:2018-7-7 16:42:33
最好能够打印出来看,编译器优化后显示的值有时会和预期不一样

评分

参与人数 2ST金币 +2 蝴蝶豆 +3 收起 理由
zero99 + 3
MrJiu + 2 很给力!

查看全部评分

dkblue 回答时间:2018-7-7 17:42:02
黑皮男 发表于 2018-7-7 16:42
最好能够打印出来看,编译器优化后显示的值有时会和预期不一样

3Q  我试试
tyhjrwx2011 回答时间:2018-7-7 23:25:25
本帖最后由 tyhjrwx2011 于 2018-7-7 23:35 编辑

浮点数,内部存储是以IEEE754标准存储的,所以就是图中的数值了
目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格:
符号位 阶码 尾数 长度
float 1 8 23 32
double 1 11 52 64



32位的浮点数中:
S:浮点数的符号位,1 位。0表示正数,1表示负数。
M:尾数,23位。用小数表示,小数点在尾数域前面。
E:阶码,采用移码方式来表示。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值e 变成阶码E 时,应将指数 e 加上一个固定的偏移值127(01111111),即 E=e+127


64位,同理,有兴趣自己推算一下
(以上99%的内容,来自百度,如有错误,无法负责)

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

MrJiu 回答时间:2018-7-9 09:22:47
2楼回答正确,用打印的方式,载线调试的时候,有些时候,值不是那么正确!!!

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版