zoukankan      html  css  js  c++  java
  • 关于_int128

    转载来自:https://blog.csdn.net/HumveeA6/article/details/79806869

    这种类型只有部分GCC编译器支持。经测试,正常运算与普通int无异,但是输入输出时无论是cin,cout还是printf都会报错,所以必须自己写输入输出函数。
    定义时与别的数据类型并没有什么区别
    eg: __int128 a,b,c;
    输入暂时采用字符串读入方式。


    方法一:重载输出

    std::ostream& operator<<(std::ostream& os, __int128 T) {
        if (T<0) os<<"-";if (T>=10 ) os<<T/10;if (T<=-10) os<<(-(T/10));
        return os<<( (int) (T%10) >0 ? (int) (T%10) : -(int) (T%10) ) ;
    }

    方法二:变为字符串式输入输出


    输入:

    void scan(__int128 &x)//输入
    {
        x = 0;
        int f = 1;
        char ch;
        if((ch = getchar()) == '-') f = -f;
        else x = x*10 + ch-'0';
        while((ch = getchar()) >= '0' && ch <= '9')
            x = x*10 + ch-'0';
        x *= f;
    }

    输出:

    void print(__int128 x)
    {
        if(x < 0)
        {
            x = -x;
            putchar(‘-‘);
        }
         if(x > 9) print(x/10);
        putchar(x%10 + ‘0‘);
    }
  • 相关阅读:
    THUSC2018退役预定
    TAT
    dsu on tree(CF600E Lomsat gelral)
    Bzoj4784: [Zjoi2017]仙人掌
    [APIO2018] Duathlon 铁人两项
    仙人掌基础
    Bzoj3672: [Noi2014]购票
    CF809E Surprise me!
    虚树(Bzoj3611: [Heoi2014]大工程)
    Bzoj3197: [Sdoi2013]assassin
  • 原文地址:https://www.cnblogs.com/water-radish/p/9489754.html
Copyright © 2011-2022 走看看