如何判斷整數資料的溢位
對於C/C++語言來說,分為無符號整數和有符號整數兩種,幾乎在所有機器中他們都是用補碼錶示的,判斷兩個整數相加是否溢位的方法如下:
(1)無符號整數相加,如果結果小於其中任何一個,則溢位;
如果兩個整數相加<0,或者兩個負數相加>0,(負數在計算機中用補碼錶示)則溢位。
int型別的最小負數:0x80000000;
(1)無符號整數相加,如果結果小於其中任何一個,則溢位;
bool IsOverFlow(unsigned x, unsigned y)
{
unsigned z = x + y;
if(z < x)
return true;
return false;
}
(2) 有符號整數相加,比無符號的相對複雜一點兒:如果兩個整數相加<0,或者兩個負數相加>0,(負數在計算機中用補碼錶示)則溢位。
bool IsOverFlow(int x, int y)
{
int z = x + y;
if(x > 0 && y > 0 && z < 0)
return true;
if(x < 0 && y < 0 && z > 0)
return true;
return false;
}
(3)如何判斷一個輸入或者轉化轉化的單個數字是否溢位;if( num>0x7fffffff || num<(signed int)0x80000000)
int型別的最大正數:0x7fffffff;int型別的最小負數:0x80000000;
相關文章
- 整數溢位
- CSS(溢位_判斷IE版本)CSS
- JQuery 判斷 正整數jQuery
- python如何判斷一個數是否是整數Python
- javascript如何判斷一個變數是否是整數JavaScript變數
- JavaScript判斷整數或者小數JavaScript
- [CodeWars][JS]如何判斷給定的數字是否整數JS
- 二進位制漏洞挖掘之整數溢位
- C----判斷兩個整數乘積幾進位制
- 如何判斷JavaScript的資料型別?JavaScript資料型別
- JavaScript的資料型別如何判斷JavaScript資料型別
- MongoDB之資料查詢(欄位判斷)MongoDB
- perl格式串處理整數溢位漏洞(轉)
- Java判斷一個整數是否為奇數Java
- 聊聊資料溢位的事
- 【力扣】組合總數(另一種整數溢位)力扣
- CVE-2018-0758 字串連線整數溢位導致堆溢位字串
- Python判斷變數是否是整數的方法有哪些?Python變數
- js判斷指定的值是否為整數的程式碼JS
- 如何判斷變數型別變數型別
- ERC20 智慧合約整數溢位系列漏洞披露
- Java判斷一個正整數是不是2的乘方Java
- Python:判斷一個正整數是否為迴文數Python
- mysql如何判斷是否存在某個欄位MySql
- Flutter 如何判斷 Widget 位於前臺Flutter
- 如何使用Python判斷奇偶數?Python
- js資料型別判斷和陣列判斷JS資料型別陣列
- javascript中如何判斷變數的型別?JavaScript變數型別
- python怎麼判斷一個數是幾位數Python
- js精度小數位數正規表示式判斷 - JavaScriptJSJavaScript
- 判斷資料型別資料型別
- js資料型別的判斷JS資料型別
- 判斷值的資料型別資料型別
- javascript判斷變數的資料型別程式碼例項JavaScript變數資料型別
- 技術乾貨:如何判斷一個整數陣列是否存在重複元素......陣列
- 詳解Java判斷是否是整數,小數或實數的正規表示式Java
- REDHAT中如何判斷主機的CPU是32位還是64位的Redhat
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數