【读入挂】

 

void read(ll &x)//读入挂(一位一位读入进行位运算,不用再转化了,会快一点) 
{
    x=0;//储存读入的结果 
    int f=1;//符号 
    char ch=getchar();//读入第一个字符 
    while(ch<'0'||ch>'9')//如果非数字 
    {
        if (ch=='-') f=-1;//如果负号则标记 
        ch=getchar();//读入下一个字符 
    }
    while(ch>='0'&&ch<='9')//如果是数字 
    {
        x=(x<<3)+(x<<1)+(ch^48);//x<<3+x<<1相当于*10,但是位运算更快 
        ch=getchar();//读入下一个字符 
    }
    x=x*f;//符号转化 
}

 

posted @ 2019-05-19 15:34  syc888syc  阅读(114)  评论(0编辑  收藏  举报