在C语言中使用奇技淫巧判断一个浮点数是不是整数
起因是同学在群里问了一个相关的问题,恰好我当时在上计组。于是我就想到了使用IEEE754的规范来检测这个数是否为整数
1 | int isRealFloat(float num){ |
当然用易读的标准代码表示如下
1 | int isRealFloat2(float num){ |
在x86指令集,o3优化条件下,利用奇技淫巧的函数isRealFloat
有9条汇编代码;isRealFloat2
函数有10条汇编代码。
虽然在性能测试中还是标准写法的速度快些
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 57U's Blog!
评论