Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java vs c++;类型_Java_C++_Datetime_Types_Coledatetime - Fatal编程技术网

Java vs c++;类型

Java vs c++;类型,java,c++,datetime,types,coledatetime,Java,C++,Datetime,Types,Coledatetime,我最近有一个关于coledatetime的java实现,我说问题可能在于类型转换:cpp float vs java float(或者cpp date vs java date.Not type,而是..)。现在我有几个问题: VC++类型有比较表吗? 如果类型转换是问题,在我的情况下(我有一个带有OLADATE记录的DB,已经用一些C++程序创建了。我需要读写DB,这样OLD字段兼容性就保持了:我的java代码读取正确的日期,C++程序不受java程序写入数据库的影响)。你会怎么做: 使

我最近有一个关于coledatetime的java实现,我说问题可能在于类型转换:cpp float vs java float(或者cpp date vs java date.Not type,而是..)。现在我有几个问题:

    VC++类型有比较表吗? 如果类型转换<强>是<强>问题,在我的情况下(我有一个带有OLADATE记录的DB,已经用一些C++程序创建了。我需要读写DB,这样OLD字段兼容性就保持了:我的java代码读取正确的日期,C++程序不受java程序写入数据库的影响)。你会怎么做:
    • 使用COleDateTime检索JNI的日期
    • 不惜一切代价创建您自己的实现(使用更广泛的类型或任何其他方式)
  • 有什么东西吗,我在这儿丢了

  • 在C++类型范围内, >P>可以和一个实现(编译器/架构)不同,因此没有标准的JavaC++类型比较,因为没有标准的C++类型大小。p> <> P>但是在大多数当前架构中,C++双打是标准IEEE 754双倍,就像在java中一样。因此,虽然代码不能严格地移植到某些罕见的体系结构中,但它通常在任何x86/x86_64体系结构中都能正常工作


    <> P>在前面的回答中,你没有提到的问题是:在实现中,什么是不起作用的?在C++类型范围内,

    < P>可以和一个实现(编译器/架构)不同,所以没有标准的JavaC++类型比较,因为没有标准的C++类型大小。p> <> P>但是在大多数当前架构中,C++双打是标准IEEE 754双倍,就像在java中一样。因此,虽然代码不能严格地移植到某些罕见的体系结构中,但它通常在任何x86/x86_64体系结构中都能正常工作


    在上一个答案的评论中,有一个问题您没有提到:在您的实现中,哪些不起作用?

    我同意David的观点-如果能从koders代码中了解哪些不起作用,那就太好了。它看起来不太可能是浮动类型的差异,它有时会破坏C++代码。我没有访问该代码的权限,所以我不知道那里发生了什么。我同意David的观点——如果能从koders代码中知道哪些代码不起作用,那就太好了。它看起来不太可能是浮动类型的差异,它有时会破坏C++代码。我没有访问该代码的权限,所以我不知道那里发生了什么。所以。。这意味着CaleDeTeT是C++平台依赖的吗?我的意思是,如果我将x86上COleDateTime返回的float与x86_64上得到的float进行比较,即使两个COleDateTime对象都是用完全相同的日期构造的,它们也应该是不同的??float和double在x86和x86_64中是相同的类型。根据您正在执行的具体操作以及在哪个处理器中运行,由于舍入问题,结果可能会略有不同(您不应该对浮点数据使用直接相等比较,但这是一个不同的问题),但对于类似的处理器(例如运行32或64位操作系统的同一处理器)结果应该是一致的,所以。。这意味着CaleDeTeT是C++平台依赖的吗?我的意思是,如果我将x86上COleDateTime返回的float与x86_64上得到的float进行比较,即使两个COleDateTime对象都是用完全相同的日期构造的,它们也应该是不同的??float和double在x86和x86_64中是相同的类型。根据您正在执行的具体操作以及在哪个处理器中运行,由于舍入问题,结果可能会略有不同(您不应该对浮点数据使用直接相等比较,但这是一个不同的问题),但对于类似的处理器(例如运行32或64位操作系统的同一处理器)结果应该是一致的。