printf-求大神解释 double16位,为何输出的不是?

问题描述

求大神解释 double16位,为何输出的不是?

#include"iostream"
#include"cstdio"
#include"cmath"
using namespace std;
int main()
{
double pi=4*atan(1.0);
cout<<pi<<endl;
printf("%lfn",pi);
return 0;
}

为什么输出的是
3.14159
3.141593

解决方案

double是16位并不代表double类型精确到小数点后16位。你想,三位二进制才能精确表示8中状态,16位的double小数点后精确到5、6位已经不错了。

解决方案二:

double 和 float都有精确位数的,不记得了,自己去翻书吧

时间: 2024-11-05 14:54:49

printf-求大神解释 double16位,为何输出的不是?的相关文章

阶乘 算法-网上找的c语言的求大数阶乘的答案 看不太懂这个算法 求大神解释算法

问题描述 网上找的c语言的求大数阶乘的答案 看不太懂这个算法 求大神解释算法 #include int main() { ??? int n; ??? int a[9000]; //确保保存最终运算结果的数组足够大 ???? int digit = 1; //位数 ???? int temp;?? //阶乘的任一元素与临时结果的某位的乘积结果 ???? int i, j, carry; //carry:进位 ???? printf("please in put n:n"); ??? s

激活码-关于windows激活密钥。求大神解释。

问题描述 关于windows激活密钥.求大神解释. 我装了win10专业版,买了Retail通道的激活密钥激活了win10,可是为什么我用我的密钥还可以激活别人的win10,Retail密钥不是只能激活一台电脑吗?哪位可以解释一下. 解决方案 你在哪里买的.我的msdn零售密钥每个可以激活10个计算机.但是如果你买的是真正的零售密钥,只能激活1台计算机.激活另一台,会提示这个密钥已经在别的计算机上激活过. 如果你买的是msdn的密钥,理论上属于盗版,msdn只能用于开发测试和评估. 解决方案二:

贪心-关于HDU 1045题,一直wa,求大神解释

问题描述 关于HDU 1045题,一直wa,求大神解释 http://acm.hdu.edu.cn/showproblem.php?pid=1045 自己试了是对的,没错,可是就是WA #include<stdio.h> int main() { int huanjilu[10][10]; char map[10][10]; int juzhen,num; while(scanf("%d",&juzhen)) { int ju; if(juzhen==0)break

helloworld-为生么这个程序几个编译程序都无法显示呀??求大神解释下!!

问题描述 为生么这个程序几个编译程序都无法显示呀??求大神解释下!! public class HelloWorld{ public static void main(String[] args) { int num = 999; int count = 0; for(;(num/10)>1; count++) { ; } System.out.print("它是个"+count+"位的数"); } } 解决方案 for(;(num/10)>1; cou

c语言-求大神解释C语言题,请解释详细一点,谢谢

问题描述 求大神解释C语言题,请解释详细一点,谢谢 下面的代码输出什么? #include int main(void) { int i; int a[5]; for (i = 0; i <= 5; ++i) { a[i] = -i; printf("a[%d] = %dn", i, a[i]); } return 0; } 解决方案 #include<stdio.h> void main() { int i=0; int a[5]={0,0,0,0,0}; for

c#解释代码-C# 求大神解释下面代码

问题描述 C# 求大神解释下面代码 public static string GetSerialPort() { return MulGetHardwareInfo(HardwareEnum.Win32_SerialPort, "Name"); } //枚举win32 api public enum HardwareEnum { Win32_SerialPort , Win32_SerialPortConfiguration , Win32_SerialPortSetting } pu

c语言链表代码求大神解释

问题描述 c语言链表代码求大神解释 insert中的 while( next_node && new_node->data > next_node->data) 是什么意思? 还有excise是什么意思,干什么用的? 最近在学链表,学不清楚... #include #include #include "list.h" /* Create a new node containing the specified data, and return a poi

求大神解释下c语言双重for循环的汇编语句??

问题描述 求大神解释下c语言双重for循环的汇编语句?? void main(){ int i,j; for(i=0;i<5;i++){ printf("0"); for(j=0;j<2;j++){ printf("1"); } } } 汇编: main: .LFB24: pushl %ebp movl %esp, %ebp pushl %ebx andl $-16, %esp subl $16, %esp movl $5, %ebx .L3: movl

关于socket的问题,求大神解释一下以上代码,本人小白不太懂

问题描述 关于socket的问题,求大神解释一下以上代码,本人小白不太懂 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; import java.nio.charset.Charset; impor