POJ2109-关于double

2024-06-16 01:48
文章标签 double poj2109

本文主要是介绍POJ2109-关于double,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里补充一下double范围的知识!

float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位.

分布如下:

float:1bit(符号位) 8bits(指数位) 23bits(尾数位)

double:1bit(符号位) 11bits(指数位) 52bits(尾数位)

于是,float的指数范围为(2^8)-128~127,

而double的指数范围为(2^11)-1024~1023,

并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。

float的范围为-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38;

double的范围为-2^1024 ~ +2^1023,也即-1.79E+308 ~ +1.79E+308。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double n,p;
while(cin>>n>>p)
{
cout<<pow(p,1.0/n)<<endl;  //求一个数的1/n次方。
}
return 0;
}


微笑double好强大!

 

这篇关于POJ2109-关于double的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065176

相关文章

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Error: label vector and instance matrix must be double的解决方法

在使用uci下载的数据时,建模时出现这个错误的解决方法 首先现在UCI上面下载数据 然后右键另存为就行了。这样我们就从UCI里面下载到了训练数据 在matlab 点 导入数据,数据类型要记得选第二个, 如果选择最后一个table就会出现这个问题 最后附上代码 %%之前先import wine.date IMPORTED DATA 设为Numeric Matrix (数值矩

【matlab】double和single类型

看到博客(这里)中说,在matlab中, 当数据比较大时,运算起来就困难了,有时候还会out of memory。原因是默认情况下matlab用double存储数据。而double数据类型占8个字节,single类型占4个字节。把数据类型从double类型转换成single类型可以节省一半的空间。(如果怀疑可以用whos指令查看)。本来很有道理的,但是看到有人说(比如这里):Th

java基本数据类型 以及 double float 二进制表示方法

Java 基本数据类型分为4类:整型,浮点型,字符型,布尔型。 整数类型: 关键字占用字节数byte1short2int4long8 每个类型的取值范围,我们以int 为例,4个字节是32位。 第一位是符号位,那么最大表示的正整数为:2^31 =‭2,147,483,648‬ byte 占用1字节 8位,最大的正整数为2^7 = 128 浮点型数据: 浮点数据类型分为两种:单精度浮

float 或 double 运算的时候会有精度丢失的风险?

《阿里巴巴 Java 开发手册》中提到:“浮点数之间的等值判断,基本数据类型不能用 == 来比较,包装数据类型不能用 equals 来判断”。“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗?确实会! 示例代码: float a = 2.0f - 1.9f;float b = 1.8f - 1.7f;System.out.

Educational Codeforces Round 1C. Nearest vectors(极角排序+long double 精度)

题目链接 题意:给你一堆的向量,问你向量之间的夹角最小的是那一对。 解法:极角排序,然后枚举相邻的一对就可以啦,但是坑爹的是double精度不够,使用long double 读入使用cin。。。 #include<bits/stdc++.h>using namespace std;#define LL long long#define pb push_back#define X f

double free

double free 内存问题 标签: stringbuffer多线程list语言c 2010-05-20 10:42  10963人阅读  评论(0)  收藏  举报   分类: C/C++(32)  double free 2008年06月02日 星期一 11:43 *** glibc detected *** free(): invalid

若干个数 以“字符串形式‘从键盘输入,将其转换为 double 型,并求平均数

/* 若干个数 以“字符串形式‘从键盘输入,将其转换为 double 型,并求平均数 */ import java.util.Scanner; public class Test_Exp1 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.

c++ free(): double free detected in tcache 2

pInter->SetHdRegisterEndTakePhotoCb(std::bind(&FpvAerialMappingCtrlModule_Impl::CameraDeviceResultCb,this, std::placeholders::_1)); 运行这行代码报此错误,因有返回值的函数结束时没有写 return 语句导致。排查了很久才发现,加上 return 语句问题解决

python更新MySQL提示Truncated incorrect DOUBLE value

错误写法: ​​​​​​​update data set status=1,raw_data=%s,updatetime=%d where signature=%s and status=3" % (response,time_t,token) 正确写法: update data set status=1,raw_data='%s',updatetime=%d where signatur