作者热门文章
- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
对于一个懒懒的,不想写高精的人 (就是我) ,每次都会遭遇到答案爆$long$ $long$的危险 。
比如说这道题:
最后的$23-25$的两个点,$long$ $long$甚至$unsigned$ $long$ $long$都无法满足,难道真的要手打高精度了吗?
不,我们有$\_$$\_$$int$$128$! 。
那么这到底是什么 可以吃吗 ?
先来看看一些常见的整数变量能存的范围与占用的字节:
类型名称 | 占用字节 | 存储范围 |
$int$ | $4$ | $-2^{31}$ ~ $2^{31}-1$ |
$long$ $long$ | $8$ | $-2^{63}$ ~ $2^{63}-1$ |
$unsigned$ $long$ $long$ | $8$ | $0$ ~ $2^{64}-1$ |
再来看看$\_$$\_$$int$$128$ 。
存储范围为$-2^{127}$ ~ $2^{127}-1$,但是占用了$128$字节 。
虽然内存占的多,但存储范围依然多 。
那么如何使用?
其实就是把快读输入改了一改 。
__int128 read() { __int128 x = 0 ; char ch= getchar(); while (ch< ' 0 ' || ch> ' 9 ' ) ch= getchar(); while ( ' 0 ' <=ch && ch<= ' 9 ' ) x=x* 10 +ch- ' 0 ' ,ch= getchar(); return x; }
...
__int128 n=read();
其实也是把快输改了一改 。
void write(__int128 x) { if (x< 0 ) x=-x,putchar( ' - ' ); if (x> 9 ) write(x/ 10 ); putchar(x % 10 + ' 0 ' ); } __int128 n; n = ... write(n);
。
$\_$$\_$$int$$128$是好,但是用的时候一定一定要注意空间限制! 。
当然,$\_$$\_$$int$$128$并不能完全取代高精,所以如果$\_$$\_$$int$$128$过不掉时,还是老老实实打高精吧! 。
最后此篇关于__int128:懒人的福音的文章就讲到这里了,如果你想了解更多关于__int128:懒人的福音的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
Easycode是idea的一个插件,可以直接对数据的表生成entity、controller、service、dao、mapper无需任何编码,简单而强大。 1、安装(EasyCode)
我是一名优秀的程序员,十分优秀!