对浮点数取绝对值的几种方式(小端模式的情况)

双精度取绝对值

  • 方式一 (使用fabs库函数)
 double d1 = -1.9832;d1 = fabs(d1);printf("d1 %lf\n", d1);

输出结果:
d1 1.983200

  • 方式二 (使用位与运算)
 double d2 = -1.9832;*((int*)&d2+1) &= 0x7fffffff;printf("d2 %lf\n", d2);

输出结果:
d2 1.983200

 double d3 = -1.9832;*((long long*)&d3) &= 0x7fffffffffffffff;printf("d3 %lf\n", d3);

输出结果:
d3 1.983200

  • 方式三(使用union变量)
 typedef union {double d4;long long d4_i;}DOUBLE_T;DOUBLE_T d4;d4.d4 = -1.9382;d4.d4_i &= 0x7fffffffffffffff;printf("d4 %lf\n", d4.d4);

输出结果:
d4 1.983200

 typedef union {double d5;char d5_c[8];}DOUBLE_TEST_T;DOUBLE_TEST_T d5;d5.d5 = -1.9382;d5.d5_c[7] &= 0x7f;printf("d5 %lf\n", d5.d5);

输出结果:
d5 1.983200

单精度取绝对值

  • 方式一 (使用fabs库函数)
 float f1 = -1.9832f;f1 = fabs(f1);printf("f1 %f\n", f1);

输出结果:
f1 1.983200

  • 方式二 (使用位与运算)
 float f2 = -1.9832;*((int*)&f2) &= 0x7fffffff;printf("f2 %f\n", f2);

输出结果:
f2 1.983200

  • 方式三(使用union变量)
 typedef union {float f3;long f3_i;}FLOAT_T;FLOAT_T f3;f3.f3 = -1.9832f;f3.f3_i &= 0x7fffffff;printf("f3 %f\n", f3.f3);

输出结果:
f3 1.983200

 typedef union {float f4;char f4_c[4];}FLOAT_TEST_T;FLOAT_TEST_T f4;f4.f4 = -1.9832f;f4.f4_c[3] &= 0x7f;printf("f4 %f\n", f4.f4);

输出结果:
f4 1.983200
大小端判断方式链接

浮点数取绝对值的方法相关推荐

  1. python判断字母数字_Python判断字符串是否为字母或者数字(浮点数)的多种方法

    str为字符串s为字符串 str.isalnum() 所有字符都是数字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是数字 str.isspace() ...

  2. IEEE 754——计算机中浮点数的表示方法

    楔子 #include <iostream> int main(int, char**) {std::cout.precision(20);float a = 123.4567890123 ...

  3. IEEE754 浮点数的表示方法

    原文地址:https://blog.csdn.net/K346K346/article/details/50487127 1.浮点数的存储格式 浮点数(Floating-point Number)是对 ...

  4. python绝对值编程_python中取绝对值简单方法总结

    python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...

  5. python求绝对值_python中取绝对值简单方法总结

    python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...

  6. 一文读懂 IEEE754 浮点数的表示方法

    FBI WARNING:鄙人首个开源电子书 <Go 编码建议>已经上线啦,欢迎各位大佬斧正指导,协同共建. 文章目录 1.浮点数的存储格式 2.移码 3.浮点数的规格化 3.1 单精度浮点 ...

  7. 关于浮点数的四舍五入方法。

    关于浮点数的四舍五入方法. 思路:先确定四舍五入到哪一位,然后先将该数的那一位前面的数变成整数(乘以10的倍数),然后加上 0.5 0.5 0.5,就可以实现四舍五入,然后再进行还原(除以10的倍数) ...

  8. 计算机中浮点数表示方法,浮点数的表示方法

    <浮点数的表示方法>由会员分享,可在线阅读,更多相关<浮点数的表示方法(2页珍藏版)>请在人人文库网上搜索. 1.浮点数的表示方法 一.浮点数表示 一个数的浮点形式(设基数是2 ...

  9. python中绝对值怎么表示_python中取绝对值简单方法总结

    python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...

  10. python加绝对值_python中取绝对值简单方法总结

    python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...

最新文章

  1. 剑指offer:面试题13. 机器人的运动范围
  2. BZOJ 2724蒲公英 (分块) 【内有块大小证明】
  3. 我眼中的Linux设备树(五 根节点)
  4. TPFanControl v0.62 + 汉化补丁
  5. 遥感图像场景分类常用数据集
  6. 模式识别之分类---数学贝叶斯方法
  7. sqlite 的几点见解
  8. HTML5写的简单小游戏-绵羊快跑
  9. 关于苹果与摄影的事。
  10. Android Theme主题继承(SDK下主题和v7包下主题)
  11. 解决Ubuntu18.04搜狗输入法无法使用的问题
  12. 微信好友只有昵称没有微信号_没微信号能找到人吗 只有微信昵称怎么找人
  13. 安卓桌面软件哪个好_每日提醒软件哪个好?电脑上有什么好用的可以每天提醒的桌面便签软件...
  14. 魔兽地图服务器修改,魔兽争霸3冰封王座地图编辑器修改无限人口的方法
  15. 百度滴滴京东实习生面试题
  16. 芝诺数解|「八」旅途中的“家”——重庆酒店特征分析
  17. ffmpeg 视频提取音频 php-ffmpeg
  18. egg extend ts_NAS初体验—威联通TS-451D - jingkunliu
  19. 大数据时代,给我们带来了哪些改变
  20. 手机cpu性能天梯图2022 手机cpu性能排行2022 手机cpu哪个好

热门文章

  1. TCP/IP之传输层协议详解
  2. react hook的setState后,不会重新render页面
  3. vscode安装使用教程
  4. 什么是Apache APR
  5. 列举在100到200以内的质数
  6. 编写php代码输出学号姓名,2、 编写一个简单的C++程序:通过键盘输入你的基本信息,如姓名、学号、班级,然后在屏幕上输出...
  7. 欧洲航天局遭匿名者(Anonymous)攻击泄露大量数据
  8. 简析FUP LB5CM/LB6CM 落地式低速大容量冷冻离心机
  9. 《马克思主义基本原理概论》复习笔记
  10. c语言识别希腊字母吗,isalpha()