当前位置:  编程技术>c/c++/嵌入式

深入分析C++中两个大数相乘结果不正确的问题

    来源: 互联网  发布时间:2014-10-14

    本文导语:  在编写代码做测试时发现两个大数相乘结果不正确的问题,测试代码如下: #include "stdafx.h"#include#includeint _tmain(int argc, _TCHAR* argv[]){      time_t temp1=1345172428000000;    time_t temp2=1345172428*1000000;   ::system("pause");    return 0;}经过...

在编写代码做测试时发现两个大数相乘结果不正确的问题,测试代码如下:
#include "stdafx.h"
#include
#include
int _tmain(int argc, _TCHAR* argv[])

    time_t temp1=1345172428000000;
    time_t temp2=1345172428*1000000;
   ::system("pause");
    return 0;
}
经过测试发现temp1与temp2并不相等。
但是修改为如下代码:
#include "stdafx.h"
#include
#include
int _tmain(int argc, _TCHAR* argv[])
{
    time_t temp1=1345172428000000;
    time_t temp3=1345172428;
    time_t temp4=1000000;
    time_t temp2=temp3*temp4;
    ::system("pause");
    return 0;
}
经过测试发现temp1与temp2并相等。
分析原因:
    1345172428和1000000都是当做int型来处理的,他们相乘的结果也是当做int型,只是乘积会被强制转换成time_t,但是在求乘积的时候就已经溢出了,所以在转换成time_t也是错的。
结论:
    在大数乘法时需要考虑乘积溢出问题。

    
 
 

您可能感兴趣的文章:

  • 深入C++浮点数无效值定义与判定的解决办法
  • 深入C++可见性与生命期的区别详解
  • 深入C++四种强制类型转换的总结
  • 用C++实现strcpy(),返回一个char*类型的深入分析
  • c++关键字mutable深入解析
  • 深入理解:Java是类型安全的语言,而C++是非类型安全的语言
  • 深入理解C++中常见的关键字含义
  • 深入分析C++中执行多个exe文件方法的批处理代码介绍
  • 从汇编看c++中变量类型的深入分析
  • C++ using namespace std 用法深入解析
  • 深入解析C++中的mutable关键字
  • C++实现strcmp字符串比较的深入探讨
  • C++中virtual继承的深入理解
  • 虚函数与纯虚函数(C++与Java虚函数的区别)的深入分析
  • C++ Vector用法深入剖析
  • 深入C++中API的问题详解
  • C++中const的实现机制深入分析
  • 深入C++中inline关键字的使用
  • C++输入输出操作符重载的深入分析
  • 深入C++ string.find()函数的用法总结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入第K大数问题以及算法概要的详解
  • 深入线性时间复杂度求数组中第K大数的方法详解
  • 深入理解大数与高精度数的处理问题
  • Docker支持更深入的容器日志分析
  • 关于《深入浅出MFC》
  • Linux有没有什么好的高级的书,我要深入,
  • 深入理解linux内核
  • [100分]有没有关于binutils的深入的资料?或者深入底层的资料?
  • 深入理解PHP内核 TIPI
  • 想深入学习Java应该学习哪些东西
  • 哪位有《JSP深入编程》电子版?
  • 想要深入学习LINUX该学什么?
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • 如何深入Linux的内核学习?
  • U-BOOT得掌握到什么程序,用不用深入去学
  • 想深入了解操作系统该怎么做
  • 前一阵子学习了shell脚本,如果想深入点了解linux可以看什么书呢
  • 问一个《深入理解计算机系统》中的问题
  • 深入多线程之:深入分析Interlocked
  • ##想买书深入学习linux下的编程,请指教
  • 深入JDBC sqlserver连接写法的详解
  • 深入oracle特定信息排序的分析
  • 深入分析C中不安全的sprintf与strcpy
  • 哪儿有下载《深入理解Linux内核》这本书?(中文)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3