Gracekite's Homepage

Back

{% raw %}

{% endraw %} Tip: {% raw %}
{% endraw %} 比赛支持用__int128 {% raw %}
{% endraw %}

{% raw %}

{% endraw %} Warning! {% raw %}
{% endraw %} 编译器的gcc是不支持__int128这种数据类型的,比如在codeblocks 16.01/Dev C++是无法编译的,但是提交到大部分OJ上是可以编译且能用的。C/C++标准,IO是不认识__int128这种数据类型的,因此要自己实现IO,其他的运算,与int没有什么不同。 {% raw %}
{% endraw %} 官方上写了GCC提供了两种128位整数类型,分别是__int128_t和__uint128_t,分别用于声明有符号整数变量和无符号整数变量。

输入#

inline void read(__int128 &X)
{
	X = 0;
	int w=0; char ch=0;
	while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}
	while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
	if (w) X = -X;
}
cpp

输出#

void print(__int128 x)
{
	if (!x) return ;
	if (x < 0) putchar('-'),x = -x;
	print(x / 10);
	putchar(x % 10 + '0');
}
cpp
int128
https://betteroier.github.io/blog/int128
Author Yuxuan Zheng
Published at August 2, 2022