计算FLT_MAX的整数位长度
2017-03-13 20:40
148 查看
传统方法
先把 float 型转成 int 型,但是由于 float 是 4个字节,某些数值超出了 int 的范围,所以在计算位数时,先将数字多次 / 10000 或者任意10的倍数,降低数的量级,再用传统的方法计算数的位数。#include <iostream> #include <float.h> using namespace std; // 计算FLT_MAX的整数位长度 int getLength(float x) { int count = 0; // 先4位4位+,一点点地截短数字 while (x > 10000) { x /= 10000; count += 4; } // 再用普通的计算数位的方法 int a = (int) x; while (a > 0) { count++; a /= 10; } return count; } int main() { cout << fixed << FLT_MAX << endl; cout << "FLT_MAX 的整数位长度 " << getLength(FLT_MAX) << endl; cout << "100 的整数位长度 " << getLength(100) << endl; }
输出
340282346638528859811704183484516925440.000000 FLT_MAX 的整数位长度 39 100 的整数位长度 3
相关文章推荐
- C++计算整数序列的最长递增子序列的长度
- 定义一个长度为10的整数说组,可用于保存用户通过控制台输入的10个整数,并计算他们的最大最小平均值。
- 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<
- javacript检查是否为正整数,检查是否是合法的字符串,计算一个字符串的字节长度
- 页面判断的js语句(整数判断,计算长度,邮箱类型判断)
- JS计算字符串实际长度
- 算法: 求整数随机数构成的数组中找到长度>=3的最长的等差数列
- 关于大整数的乘法的算法时间复杂度的计算过程推导(纯属个人推测,请高人指正)
- DeviceIoControl获取max transfer长度
- 计算整数位数
- sizeof计算二维数组长度的问题
- 如何计算整数平方根
- 高精度 大整数 计算 模板优化方向
- js 计算字符串长度(含中文)
- 对于一个整数n,有一个函数f(n) 可以计算到1到n之间的出现“1“的个数。
- C语言实现整数四则运算表达式的计算
- [导入]js 计算字符串长度(包括汉字)
- linux shell 数组的长度计算、修改、循环输出等操作
- Python字符串类型(创建、索引、切片、成员操作符、重复、连接、计算长度、内置方法)
- 两个超大的整数相加(超过long长度范围)