浮点数取绝对值的方法
对浮点数取绝对值的几种方式(小端模式的情况)
双精度取绝对值
方式一 (使用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
大小端判断方式链接
浮点数取绝对值的方法相关推荐
- python判断字母数字_Python判断字符串是否为字母或者数字(浮点数)的多种方法
str为字符串s为字符串 str.isalnum() 所有字符都是数字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是数字 str.isspace() ...
- IEEE 754——计算机中浮点数的表示方法
楔子 #include <iostream> int main(int, char**) {std::cout.precision(20);float a = 123.4567890123 ...
- IEEE754 浮点数的表示方法
原文地址:https://blog.csdn.net/K346K346/article/details/50487127 1.浮点数的存储格式 浮点数(Floating-point Number)是对 ...
- python绝对值编程_python中取绝对值简单方法总结
python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...
- python求绝对值_python中取绝对值简单方法总结
python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...
- 一文读懂 IEEE754 浮点数的表示方法
FBI WARNING:鄙人首个开源电子书 <Go 编码建议>已经上线啦,欢迎各位大佬斧正指导,协同共建. 文章目录 1.浮点数的存储格式 2.移码 3.浮点数的规格化 3.1 单精度浮点 ...
- 关于浮点数的四舍五入方法。
关于浮点数的四舍五入方法. 思路:先确定四舍五入到哪一位,然后先将该数的那一位前面的数变成整数(乘以10的倍数),然后加上 0.5 0.5 0.5,就可以实现四舍五入,然后再进行还原(除以10的倍数) ...
- 计算机中浮点数表示方法,浮点数的表示方法
<浮点数的表示方法>由会员分享,可在线阅读,更多相关<浮点数的表示方法(2页珍藏版)>请在人人文库网上搜索. 1.浮点数的表示方法 一.浮点数表示 一个数的浮点形式(设基数是2 ...
- python中绝对值怎么表示_python中取绝对值简单方法总结
python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...
- python加绝对值_python中取绝对值简单方法总结
python如何使用绝对值?下面给大家介绍三种求绝对值的方法: import math def abs_value1(): a = float(input('1.请输入一个数字:')) if a &g ...
最新文章
- 剑指offer:面试题13. 机器人的运动范围
- BZOJ 2724蒲公英 (分块) 【内有块大小证明】
- 我眼中的Linux设备树(五 根节点)
- TPFanControl v0.62 + 汉化补丁
- 遥感图像场景分类常用数据集
- 模式识别之分类---数学贝叶斯方法
- sqlite 的几点见解
- HTML5写的简单小游戏-绵羊快跑
- 关于苹果与摄影的事。
- Android Theme主题继承(SDK下主题和v7包下主题)
- 解决Ubuntu18.04搜狗输入法无法使用的问题
- 微信好友只有昵称没有微信号_没微信号能找到人吗 只有微信昵称怎么找人
- 安卓桌面软件哪个好_每日提醒软件哪个好?电脑上有什么好用的可以每天提醒的桌面便签软件...
- 魔兽地图服务器修改,魔兽争霸3冰封王座地图编辑器修改无限人口的方法
- 百度滴滴京东实习生面试题
- 芝诺数解|「八」旅途中的“家”——重庆酒店特征分析
- ffmpeg 视频提取音频 php-ffmpeg
- egg extend ts_NAS初体验—威联通TS-451D - jingkunliu
- 大数据时代,给我们带来了哪些改变
- 手机cpu性能天梯图2022 手机cpu性能排行2022 手机cpu哪个好
热门文章
- TCP/IP之传输层协议详解
- react hook的setState后,不会重新render页面
- vscode安装使用教程
- 什么是Apache APR
- 列举在100到200以内的质数
- 编写php代码输出学号姓名,2、 编写一个简单的C++程序:通过键盘输入你的基本信息,如姓名、学号、班级,然后在屏幕上输出...
- 欧洲航天局遭匿名者(Anonymous)攻击泄露大量数据
- 简析FUP LB5CM/LB6CM 落地式低速大容量冷冻离心机
- 《马克思主义基本原理概论》复习笔记
- c语言识别希腊字母吗,isalpha()