【读入挂】

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;//符号转化
}

猜你喜欢

转载自www.cnblogs.com/sun31415shine/p/10889443.html