`
aa87963014
  • 浏览: 154408 次
  • 性别: Icon_minigender_1
  • 来自: 布尼塔尼亚
社区版块
存档分类
最新评论

int a=200*100000000;a =

阅读更多
a=-1474836480;!!!!!!!!

无法理解,如果说int值溢出为什么不直接抛出异常?
有一个地方前端没限制输入,后台也没验证输入。

当输入如:100000000(一亿)之后服务器计算之后所有数值一切正常。因为200*100000000为一个负数!
也因为这样绕过了验证(服务端所有地方从来都没有考虑过负数的情况,也没有对有负数的地方验证)
由此:1-(-1474836480) 那么久变成了1474836480+1,照成了异常数值。

如何处理这种情况?真心觉得这种结果为负数的设计完全就是神经病,为什么不直接抛出异常
分享到:
评论

相关推荐

    JAVA画出抛物线y=x*x的图像

    y = yStart - (int)(y * 600 / (a * xEnd * xEnd)); // 转换为窗口坐标 g2d.drawLine(x, yStart, x, yStart - (int)y); } } ``` 4. **将绘图面板添加到窗口**:最后,将绘图面板添加到框架中: ```java frame....

    const int *a int * const a区别实例

    这里,const 关键字的位置决定了修饰的对象是 int 还是 a。 const 和 extern const 变量可以使用 extern 关键字来扩大其作用域,例如: ```cpp extern const int r = 100; ``` 这里,const 变量 r 的作用域扩大到...

    Project组织应用

    void aMAX_MIN_AVE(int *a, int n, int &max, int &min, int &aver) { max = min = a[0]; // 初始化 int sum = 0; for (int i = 0; i ; i++) { sum += a[i]; if (a[i] > max) max = a[i]; if (a[i] ) min = a...

    C语言实现的堆排序 很容易理解

    void HeapAdjust(int a[],int s, int m){ int j; a[0]=a[s]; for(j=2*s;j<=m;j*=2){ if((j)&&(a[j]<a[j+1]))j++; if(a[0]>=a[j])break; a[s]=a[j];s=j; } a[s]=a[0]; } ``` - **宏定义 `N`**:这里定义了一...

    int triangleJudge(int a,int b,int c)三角形判断

    根据给定的信息,本文将详细解释“int triangleJudge(int a,int b,int c)”函数的实现原理及三角形类型的判断逻辑。 ### 函数介绍 #### 函数定义:`int triangleJudge(int a,int b,int c)` 该函数接收三个整数参数...

    蓝桥杯大赛选拔赛试题真题解析,供大家学习研究参考

    已定义:int a = 02023, b = 0x212; a + b 的值是( )。 A. 八进制数4771 B. 十进制数1573 C. 十进制数2553 D. 十六进制数9f9 答案:B 解析:首先a转二进制为:0100 0001 0011 b转二进制为:0010 0001 0010 ...

    满足各个数字的立方和等于此数的水仙花数

    int a,m,n,r,s,t; //定义变量 public void f() //声明方法 { for(a=100;a<=999;a++) { m=a/100; n=a%100; r=n/10; s=a%10; if(a==m*m*m+r*r*r+s*s*s) System.out.println(" "+a); ...

    C++ 实现的分数运算的重载

    static int greatestCommonDivisor(int a, int b) { if (b == 0) return a; return greatestCommonDivisor(b, a % b); } }; ``` 接下来,我们将重载常见的算术运算符,如`+`、`-`、`*`和`/`,以便处理分数之间...

    用C++语言描述分数类,并进行各种运算

    int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } void simplify() { int g = gcd(numerator, denominator); numerator /= g; denominator /= g; } ``` 接着,我们需要构造函数来...

    程序员面试宝典题目总结

    - `int (*a)[10]` 表示 `a` 是一个指向含有10个整数元素的数组的指针。 - `a++` 使 `a` 指向下一个这样的数组。 --- #### 14. 数组指针运算 **题目描述:** ```cpp int a[] = {1, 2, 3, 4, 5}; int *ptr = (int *...

    矩阵求逆的最简单的算法

    矩阵求逆是指找到一个矩阵 \(A^{-1}\),使得 \(A \cdot A^{-1} = I\),其中 \(I\) 是单位矩阵。如果存在这样的矩阵,则称原矩阵 \(A\) 是可逆的。该算法基于高斯消元法,通过一系列行操作将原矩阵转换为单位矩阵,...

    C语言中指针 int *p=0;和int *p;*p=0;和”&“的关系和区别详解

    当我们讨论`int *p=0;`和`int *p;*p=0;`以及"&"的关系和区别时,我们需要深入理解指针的声明、初始化、解引用以及取地址操作。 首先,`int *p=0;` 这行代码声明了一个指向整型变量的指针`p`,并将其初始化为NULL或0...

    MessageBox3.cs

    // UnSafeSwap.cs // 不安全代码示例 // 编译命令:csc /unsafe UnSafeSwap.cs using System; class Program ... static unsafe void Swap(int* a, int* b) { int tmp = *a; *a = *b; *b = tmp; } }

    C#算术运算的例子

    int a = 5; int b = 3; int sum = a + b; // sum = 8 string str1 = "Hello "; string str2 = "World"; string combined = str1 + str2; // combined = "Hello World" ``` 2. 减法 (-):用于减去一个数。 ```csharp...

    白盒测试实验 软件测试实验报告

    void DoWork (int x,int y,int z){ 1 int k=0, j=0; 2 if ( (x>3)&&(z) ) 3 { 4 k=x*y-1; 5 j=sqrt(k); 6 } 7 if((x==4)||(y>5)) 8 j=x*y+10; 9 j=j%3; 10 } 说明:程序段中每行开头的数字(1~10)是对每条语句的...

    C语言运算符优先级 详细列表

    - 示例:`int x = (a + b) * c;` - **成员选择 (`.`)**:用于访问结构体或联合中的成员。 - 示例:`struct person p; int age = p.age;` - **成员选择 (指针 `->`)**:用于通过指针访问结构体或联合中的成员。 - ...

    c++高斯消元法设计

    void select_main(int k,float **p,int m); void show(int m,int n,float **p); void answer(int m,int n,float **p); int gain_m(); int gain_n(int m); void guass(int m,int n,float **p); //*******************...

    Program.cs

    using System; using System.Collections.... int a = n; while (a != 1) { Console.Write("" + a); if (a % 2 == 1) a = a * 3 + 1; else a = a / 2; } Console.Write("" + a); } } } }

    C++运算符优先级表

    * 条件运算符:int i = (a > b) ? a : b 十一、赋值运算符 赋值运算符的优先级最低,包括各种赋值运算符。例如: * 赋值:int a = b; * 加法赋值:a += 3; * 减法赋值:b -= 4; * 乘法赋值:a *= 5; * 除法赋值:...

    密码基础指数模运算

    int ModInverse(int a, int m) { int b, k; while (true) { k = m; m = a % m; a = k; if (m == 1) break; } return b; } ``` 快速指数模运算和求逆元算法是密码编码学中两个重要的知识点,它们广泛应用于...

Global site tag (gtag.js) - Google Analytics