大数运算(1)——大数储存

int (16位) -32768~32767

(注:现在大多数的编译器的int型是32位的 也就是说跟long型的大小一样)

long long或__int64(64位) 

   -9223372036854775808~9223372036854775807

float(32位) 精确到小数点后6~7位 

double (64位) 精确到小数点后15~16位

(注:平时做题时 都把浮点型数据定义为double型 避免精度不够出错)

大数计算的数和结果精度一般是少则数十位,多则几万位。在C/C++语言中定义的类型中精度最多只有二十多位。一般我们称这种基本数据类型无法表示的整数为大整数。如何表示和存放大整数呢?基本的思想就是:用数组或字符串存放和表示大整数。一个数组或字符串元素,存放大整数中的一位。

例如:

大数a:1545485785212454510

大数b:15458526545451

大数c:2635578521245451

大数d:487845451

大数e:52454521247

《大数运算(1)——大数储存》

用字符串进行大数的储存后,若进行运算,可以根据ASCII表中字符串元素对应的ASCII值减去0的ASCII值进行运算。

例如:字符串中a[0]=’4’,其ASCII值是52,0的ASCII值是48,用52减去48正好是数字4。

    原文作者:大整数乘法问题
    原文地址: https://blog.csdn.net/lisp1995/article/details/52313294
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞