c语言-有点奇怪,C语言精度问题(跟JAVA区别)。

问题描述

有点奇怪,C语言精度问题(跟JAVA区别)。

这段代码转成C语言行不通。。在C语言我试了缩小x的范围,整体都缩小了才能运行出正确答案。。

C语言跟JAVA还存在这方面的区别??

解决方案

c语言精度有限的,整数最高精度就是long long,占用8个字节,最大范围是-2^63 ~ 2^63 - 1,java中有现成的类BigInteger和BigDecimal,原则上是只要你的内存足够大,就能表示任意精度的数字

解决方案二:

我在做排序算法的代码模拟的时候也发现了这个问题,c语言对数据量较大时的情形处理的不如Java。

解决方案三:

C语言与JAVA区别
Java和C语言的区别
C语言与C++与JAVA的区别

解决方案四:

int类型在C语言、java语言中能够表示的数的范围是不一样的,而且和机器有关(32位、64位)。

时间: 2024-10-26 03:27:17

c语言-有点奇怪,C语言精度问题(跟JAVA区别)。的相关文章

c语言%f奇怪的问题!打破常规!!!

问题描述 c语言%f奇怪的问题!打破常规!!! 以前一直以为会四舍五入,今天测试这个的时候,发现解释不了,希望有人帮帮忙! 解决方案 从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差产生积累进而产生系统误差,"四舍六入五成双"使测量结果受到舍入误差的影响降到最低. 解决方案二: 四舍六入五成双http://www.zhihu.com/q

Swift语言指南(九) Swift语言的基本运算符

运算符(operator)是用来检查,改变或合并值的一种特殊符号或短语.例如,加号运算符让两个数字相加(如:let i = 1 + 2),还有些更复杂的运算符,如逻辑与运算符(&&)(如:if enteredDoorCode && passedRetinaScan)和自增运算符(++i)(将 i 的值加 1 的便捷写法). Swift 支持标准C语言的大多数运算符,并且改进了一些特性以规避常见的代码错误.赋值运算符(=)是没有返回值的,这样是为了避免在使用等于运算符(==)

c语言基础问题-C语言基础问题,基本类型,

问题描述 C语言基础问题,基本类型, 为什么六种整数类型的每一种所表示的取值范围度会根据机器的不同而不同 .如果我想了解,要看什么书. 解决方案 和机器无关,和编译器有关.你用turbo c编译,即便用的是64bit的windows 10,int 也是16bir 建议你看C primer 解决方案二: 一种语言,基本数据类型因为编译器的不同而不同,这在今天看上去很雷人.但是C语言是一种充满缺陷和坑的古老的语言. 也许它的标准制定者自以为聪明地认为,这样做,那些16bit的程序不用修改源代码就变成

用Go语言写Android应用 (2) - 从Android的Java调用Go代码

用Go语言写Android应用 (2) - 从Android的Java调用Go代码 上一篇我们讲到,Go在Android中的作用,就相当于NDK中的C/C++.上节我们学习了参照NDK的方式用纯Go语言来写应用. 但是,也正如在Android中,C/C++主要是通过JNI的方式被Java代码调用,本节我们就学习如何使用Java代码来调用Go代码. Java调Go的JNI例子 Java部分 我们首先来看这个简单得不能再简单的Java部分的代码,只有一个TextView,然后调用Go写的Hello.

r语言-在C# 程序里 调用R语言 调用完R语言后C#程序也跟着结束了,怎么让他不跟着结束呢?

问题描述 在C# 程序里 调用R语言 调用完R语言后C#程序也跟着结束了,怎么让他不跟着结束呢? 我程序里调用R语言的代码是这样的 REngine.SetEnvironmentVariables(); REngine engine = REngine.GetInstance(); engine.Evaluate(R_cmd); engine.Evaluate("q()"); engine.Dispose(); 这样有什么问题吗? 解决方案 你C#怎么写的?控制台程序可以加上一个Cons

用c 语言或者c++程序语言编写DGIM算法(近似计算窗口中1-bit的个数的算法)。

问题描述 用c 语言或者c++程序语言编写DGIM算法(近似计算窗口中1-bit的个数的算法). 1:以01stream.txt文件,好像不能上传附件,文件内容为01所组成的数据流,为自己所写程序的输入,读取中文件中的01数据流: 2:设定窗口大小1000,以不超过50%的相对误差回答任意时刻,当前窗口中有多少个1-bit: 3:设定窗口大小2000,以不超过10%的相对误差回答任意时刻,当前窗口中有多少个1-bit: 4:编写一个精确计算当前窗口中1-bit个数的精确程序,比较精确程序在运行时

c语言-C语言中指针用星号和箭头表示有区别吗

问题描述 C语言中指针用星号和箭头表示有区别吗 C语言中指针用星号和箭头表示有区别吗 p ++和i→next表达意思一样吗?菜鸟一个,请各位多多 指点下! 解决方案 C语言字符指针和字符数组的区别 解决方案二: ->在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符".". 用法: p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员.表达式p->a引用了指针p指向的结构体的成员a. 例如: struct T { int a; char b

求助c语言高手帮在下解决几个棘手的问题, 就是帮忙把fortran语言转换成c语言

问题描述 求助c语言高手帮在下解决几个棘手的问题, 就是帮忙把fortran语言转换成c语言 READ(*,*)X0,EP N=1 10 X=1.0/(X0*X0+1.0) WRITE(*,200) N,X 200 FORMAT(1X,2HN=,I4,5X,2HX=,F10.6) IF (ABS(X-X0).LT.EP) GOTO 20 X0=X N=N+1 GOTO 10 20 STOP END

c语言-求教两个C语言程序fseek(fp,0L,0)和rewind(fp)区别

问题描述 求教两个C语言程序fseek(fp,0L,0)和rewind(fp)区别 程序一:#include main() { FILE fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen("data.dat","w+"); for(i=0;i<6;i++) { fseek(fp,0L,0); _ _ fprintf(fp,"%dn",a[i]);__ } rewind(fp); _ fscanf(fp,&qu