`

整数相乘容易出错实例

    博客分类:
  • c++
 
阅读更多

 

///



/* 1、测试 两个 int32 整数相乘,结果放保存在uint64整数,测试输出结果是否正确
 * 2、
 * 3、
 *
 * date: 2018-05-25
 */

#include <iostream>
#include <fstream>
#include <vector>
#include <stdio.h>
#include<stdlib.h>
#include<string>

using uint32 = unsigned int;
using uint64 = unsigned long long int;
using uint8 = unsigned char;


const uint64 K_512 = 512 * 1024;
const uint64 K_1024 = 1024 * 1024;

uint64 MAX_MEM = 3 * 1024 * K_1024;

//uint64 MAX_MEM = 3;

/// first argv: original string
int main(int argc, char** argv)
{

    uint64 value_64 = 0;

    uint32 v1 = 1024 * 1024 * 1024;
    uint32 v2 = 5;
    value_64 = v1 * v2;

    std::cout << "32位整数 * 32位整数 :\n" ;
    std::cout << " v1 * v2 = " << v1 * v2 << std::endl;
    std::cout << "value_64 = " << value_64 << std::endl;
    std::cout << std::endl;

    uint32 v3 = 1024 * 1024 * 1024;
    uint64 v4 = 5;
    value_64 = v3 * v4;

    std::cout << "32位整数 * 64位整数 : \n" ;
    std::cout << " v3 * v4 = " << v3 * v4 << std::endl;
    std::cout << "value_64 = " << value_64 << std::endl;
    std::cout << std::endl;

    uint64 v5 = 1024 * 1024 * 1024;
    uint32 v6 = 5;
    value_64 = v5 * v6;

    std::cout << "64位整数 * 32位整数 : \n" ;
    std::cout << " v5 * v6 = " << v5 * v6 << std::endl;
    std::cout << "value_64 = " << value_64 << std::endl;


}

    结果:

      32位整数 * 32位整数 :
      v1 * v2 = 1073741824
      value_64 = 1073741824

      32位整数 * 64位整数 :
       v3 * v4 = 5368709120
      value_64 = 5368709120

      64位整数 * 32位整数 :
       v5 * v6 = 5368709120
      value_64 = 5368709120

 

 

分享到:
评论

相关推荐

    六年级数学上册教材分析PPT学习教案.pptx

    分数乘法的学习包括分数与整数相乘,分数与分数相乘,以及倒数的认识。教学中应让学生充分经历算理形成的过程,而不是仅仅关注计算结果。直观图的使用有助于理解算理和掌握方法。 **第四单元:分数除法** 本单元...

    全国计算机等级考试-二级MS-Office高级应用Excel函数总结汇编.pdf

    它必须是正整数,1代表第一列,2代表第二列,依此类推。如果col_index_num超出table_array的列数,函数会返回错误值#REF!。range_lookup是一个逻辑值,如果为FALSE或0,VLOOKUP会寻找精确匹配,否则(默认情况下)...

    分式的混合运算复习公开课PPT课件.pptx

    公式为`(a/b)^n = a^n/b^n`,其中`n`为正整数。 4. **运算顺序**: - 在进行分式混合运算时,遵循先乘方、再乘除、最后加减的原则。如果有括号,应先处理括号内的运算,同级运算从左到右依次进行。 5. **实例解析...

    六年级数学上册2分数乘法2.3分数乘分数教学反思素材苏教版

    但是,当两个分数相乘时,规则变为分子乘以分子,分母乘以分母,这是由于分数乘分数的本质是对两个分数各自单位面积的叠加。教师需要通过实例和操作活动,让学生逐步理解并掌握这一规则。 再者,由于分数乘法与分数...

    非计算机专业《C语言程序设计》课程教学问题的分析与探讨.pdf

    此外,C语言中变量类型和运算符的使用灵活性,若学生对规则理解不透彻,很容易导致程序出错。例如,在使用除号运算时,整数除法和浮点数除法的结果完全不同。为解决这些问题,教师应培养学生的良好程序设计风格,并...

    七年级数学上册 9.9 积的乘方教案 沪教版五四制-沪教版初中七年级上册数学教案.doc

    例如,计算 \( (2x)^2 \)、\( (5ab)^3 \) 或者 \( (xy)^5 \cdot (xy)^2 \),这些练习有助于学生熟练掌握法则,并避免在有多种幂运算混合的情况下出错。 在课内练习二中,学生会检查一些常见的计算错误,如混淆幂的...

    吉林省白城市通榆县七年级数学上册1.4有理数的乘除法1.4.1有理数的乘法导学案2无答案新版新人教版

    1. **有理数的概念**:在数学中,有理数是指可以表示为两个整数比的数,包括整数、分数以及小数(有限小数和无限循环小数)。例如,2、-3、1/4、0.75都是有理数。 2. **有理数的乘法法则**:两个有理数相乘,其结果...

    VBScript 语言参考

    打开所选主题之后,就能够很容易地链接到其他相关章节。 好了,现在就开始行动,赶快进去看一看吧!学习几个语句,研究几种方法,或者熟悉几个函数。您会发现 VBScript 语言的功能是多么强大。 特性 说明 版本...

    VBScript 语言参考中文手册CHM

    打开所选主题之后,就能够很容易地链接到其他相关章节。 请尽情浏览 JScript 语言参考的各个部分,您会发现 VBScript 语言有多么丰富。 特性 说明 版本信息 按主机应用排序的 VBScript 版本列表和按版本排序...

    VBSCRIP5 -ASP用法详解

    打开所选主题之后,就能够很容易地链接到其他相关章节。 好了,现在就开始行动,赶快进去看一看吧!学习几个语句,研究几种方法,或者熟悉几个函数。您会发现 VBScript 语言的功能是多么强大。 特性 说明 版本...

    数据结构报告

    根据给定的文件信息,我们可以总结...综上所述,本报告详细介绍了如何利用链表和抽象数据类型来实现实系数一元多项式的创建、打印以及基本运算,并通过实例演示了程序的运行效果,同时分析了程序的调试过程和算法性能。

    VBSCRIPT中文手册

    Source 属性 返回最早出错的对象或应用程序的名称。 Space 函数 返回由指定数量的空格组成的字符串。 Split 函数 返回下限为 0 的、由指定数量的子串组成的一维数组。 Sqr 函数 返回数的平方根。 StrComp 函数 ...

    vb Script参考文档

    Source 属性 返回最早出错的对象或应用程序的名称。 Space 函数 返回由指定数量的空格组成的字符串。 Split 函数 返回下限为 0 的、由指定数量的子串组成的一维数组。 Sqr 函数 返回数的平方根。 StrComp 函数 ...

    易语言程序免安装版下载

    数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写超出整数范围的数值。 7. 修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后...

Global site tag (gtag.js) - Google Analytics