大数运算(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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值