c++小知识点记录——整数

求整数

假设给定了一个字符串,求整数(有可能很大,不用to_string())

整数反转
int reverse(int x) {
    long res = 0;
    while(x != 0)  
    {
        res = res *10 + (x % 10);  ///  这种写法同样适用于负数
        x = x / 10 ;
    }
    
    return (res > INT_MAX|| res < INT_MIN)?0:res;

}

*res = res 10 + (x % 10); // 负数也可以这么写, 不用单独判断符号!!!!!!!

假设输入值是字符串的形式,碰到负数
如:

string str = "-1234";
long res = 0; 
for (int i = 0; i < str.size(); i++) {
	int flag = (str[0] == '-') ? -1 : 1;
	int temp = (str[i] - '0') * flag;
	res = res * 10 + temp;
	if (res >= INT_MAX || res <= INT_MIN) {
		// 另外处理
	}
}

你可能感兴趣的:(c++)