数据类型溢出解释

写这篇博客是因为笔者有丰富的溢出然后爆0经验,能够比较直观的认识到溢出的效果。当然,很多大佬都知道,所以不再炫耀(爆零你炫耀个鬼啊)

  当一个数据的溢出时,它会达到反向的最大值。

  取一个short a=32767,这时它达到了short的存储上限,再大就溢出了。 然后你让a++

  可以编程验证a=-32768,也就是a在溢出1之后达到了相反符号的最值。反过来,short b=-32768,b--,b也会回到32767

  更大的溢出同理。 当数据溢出一次之后仍然溢出时,会继续循环

  所以数据类型溢出有什么用呢?

  取unsigned long long hash(可能已经有人知道我要讲hash的取余了),由于该数据类型在0~2^64-1,所以此时的溢出实际上是自动%2^64-1,达到了hash值取余的目的

  就讲这些

原文地址:https://www.cnblogs.com/cellular-automaton/p/6863123.html