__int128的使用方法

__int128 就是占用128字节的整数存储类型。由于是二进制,范围就是 -2^127 ~ 2^127-1,如果使用了 unsigned __int128,则范围变成 0 ~ 2^128,即约39位数,这在一定程度上可以替代高精度运算实现大数运算,而且操作难度更低,所以在数据范围不超过的情况下,都可以使__int128。

操作
由于_int128只能实现四则运算,不能用cin,cout,scanf,printf输入输出,我们首先应该写个快读和快写的函数;

快读函数

__int128 read()
{
	//直接在函数里面实现读字符串操作更简洁
	__int128 res=0;//初始结果赋值0
	char scan[1005];
	scanf("%s",scan);
	for(int i=0;i<strlen(scan);i++)
		res*=10,res+=scan[i]-'0';//实现进位
	return res;//返回__int128类型
}

快写函数

void print(__int128 num)
{//递归调用,实现从高位向低位输出
	if(num>9) 
		print(num/10);
	putchar(num%10+'0');
}
posted @ 2025-01-18 02:35  miao-jc  阅读(399)  评论(0)    收藏  举报