不用做任何比較判斷運算子找出兩個整數中的較大的值
不用做任何比較判斷運算子找出兩個整數中的較大的值
題目描述
給定兩個32位整數a和b,返回a和b中較大的,要求不能用任何比較判斷運算子。
輸入描述:
輸入兩個整數a和b,a和b均為32位整數。
輸出描述:
輸出一個整數,兩個數中較大的那一個。
示例1
輸入
1 0
輸出
1
題解:
兩個數字中找到較大的一個,不用比較運算,那麼考慮它們的差:假設 c = a - b,其符號位為 sc = ( c >> 31 ) & 1若 c 為正,sc 為 0 ;若 c 為負,sc 為 1 ,那麼我們可以使用式子:a - c * sc 表示最終的結果。
程式碼:
#include <cstdio>
using namespace std;
int main(void) {
int a, b;
scanf("%d%d", &a, &b);
int c = (( a-b ) >> 31) & 1;
return 0 * printf( "%d\n", a-(a-b)*c );
}
相關文章
- 兩集合比較判斷
- SCSS 比較運算子CSS
- 使用帶型別判斷的比較判斷型別
- php比較運算子的安全問題PHP
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- 比較兩個List物件,找出新增、刪除、更改的條目物件
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- 變數,運算子,if判斷變數
- Python學習-比較運算子和邏輯運算子Python
- Kotlin 運算子詳解:算術、賦值、比較與邏輯運算子全解析Kotlin賦值
- Python 解惑:整數比較Python
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- pandas比較兩個文件的差異
- Javers 比較兩個類的差異
- 比較兩個陣列中是否有相同的元素陣列
- C++ - 比較兩個浮點數大小C++
- 使用錯誤的運算子進行字串比較缺陷漏洞字串
- 編寫js比較兩個數的最大值(使用者依次輸入兩個數,最後彈出最大的那個值)JS
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- 比較兩個table是否相同
- JavaScript比較兩個時間JavaScript
- 位運算-判斷一個數是否為2的整數次方
- Linux指令碼中帶有小數點的數值比較大小Linux指令碼
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- 比較兩個陣列是否相等陣列
- java中利用hanlp比較兩個文字相似度的步驟JavaHanLP
- C#比較兩個字串的相似度【轉】C#字串
- Go和Python比較的話,哪個比較好?GoPython
- shell指令碼中的運算子和條件判斷指令碼
- Java中陣列判斷元素存在幾種方式比較詳解Java陣列
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- 浮點數的比較
- ABAP面試問題 - 不使用加減乘除等操作比較兩個整數大小面試
- java比較mysql兩個資料庫中差異JavaMySql資料庫
- 在Linux中,如何比較兩個檔案差異?Linux
- 比較檔案是否相同,(比較MD5值)
- Java Optional的orElse()與orElseGet()兩個方法比較 - BaeldungJava
- matlab比較兩個矩陣是否相等Matlab矩陣