__int128 学习笔记

今天学习到__int128 类型
这是一个处理大数的很奇妙的方法。
正常来说,unsigned long long 已经是可以定义的最大的类型了,但是如果数据范围超过了2^64 就会爆炸。如果要处理比其大一点又不是那么大的数,就可以使用__int128这个定义。
注意:__int128 并不是所有编译器都可以使用。大型比赛不用顾虑,但蓝桥杯一定不要用,会报错。
关于__int128 要注意其输入输出不能直接使用cin和cout,需要自己手写一个按位输入输出的函数才可以。
模板如下:
1.输入流:

__int128 read()
{
    __int128 f=1,w=0;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {
        if(ch=='-')
        f=-1;
        ch=getchar();
    }
    while(ch<='9'&&ch>='0')
    {
        w=w*10+ch-'0';
        ch=getchar();
    }
    return f*w;
}

2,输出流:

void print(__int128 x)
{
    if(x<0)
    {
        putchar('-');
        x=-x;
    }
    if(x>9)print(x/10);
    putchar(x%10+'0');
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值