首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回浮点参数f的表达式-f的位级等效

返回浮点参数f的表达式-f的位级等效
EN

Stack Overflow用户
提问于 2012-09-26 09:06:56
回答 1查看 7.8K关注 0票数 0

这是一个家庭作业问题,我完全没有想法(C编程)。

使用说明:

代码语言:javascript
复制
/* 
 * float_neg - Return bit-level equivalent of expression -f for
 *   floating point argument f.
 *   Both the argument and result are passed as unsigned int's, but
 *   they are to be interpreted as the bit-level representations of
 *   single-precision floating point values.
 *   When argument is NaN, return argument.
 *   Legal ops: Any integer/unsigned operations incl. ||, &&. also if, while
 *   Max ops: 10
 *   Rating: 2
 */
unsigned float_neg(unsigned uf) {

return 2;

我尝试过简单地返回-uf;以及其他的东西,但是我不知道该做什么。

帮助?

可假定下列条件:

  1. 使用整数的2s补码,32位表示.
  2. 在算术上执行右移位。
  3. 在将整数移动大于单词大小时具有不可预知的行为。

-EDIT

解决办法:还uf^0x80000000;

EN

回答 1

Stack Overflow用户

发布于 2012-09-26 09:15:07

现在忽略了这个问题的荒谬之处,问题是询问浮点格式,大概是英特尔芯片使用的IEEE-754标准。32位的IEEE编号的二进制格式是:-

因此,否定这个值是微不足道的。在切换顶部位之前,您必须检查各种特定值: Nan、Inf等,这些都在IEEE规范中详细说明。

请注意,您可以有+0和-0。

简单地返回整数否定不会工作,因为它预先形成了2的补体否定,因此整数值1变成0 0xffffffff,当FPU解释这个值时,它将是一个非常不同的值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12598205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档