国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LeetCode---Number Complement

2019-11-08 01:50:03
字體:
來源:轉載
供稿:網友
1.關于~取反運算符~5 //輸出為-6先說一下正數取反+1后變成對應的負數例如6的二進制表示0000 0000 0000 0000 0000 0000 0000 0110取反 1111 1111 1111 1111 1111 1111 1111 1001+1 1111 1111 1111 1111 1111 1111 1010 //這就是-6在機器中的表現形式5的二進制表示 0000 0000 0000 0000 0000 0000 0000 0101~5 取反 1111 1111 1111 1111 1111 1111 1111 1010 //正好就是對應了-6的補碼形式2.對于輸入一個正整數,例如5,二進制101;相應位數取相反數為010,則應該輸出2
public class Solution {    public int findComplement(int num) {
//以num=7為例,按照題目要求 取對應位的相反數為000,結果輸出為0//第一步:取最高位        Integer.highestOneBit(num)//取num對應的二進制數的做左的1所對應的數,例如7二進制:  111(對于int類型數,省去前面28個0),取最高位為0100//第二步:向左移一位,并減1,生成num的二進制數相對應的“掩碼”(個人感覺有點類似于計算機網絡中的子網掩碼)        Integer.highestOneBit(num)<<1;0100向左移一位變成 1000        1000 減1 后變成 0111 //第三步:對于num取反 ,再 “與” 掩碼 得到最終結果num取反后(~num)得        1111 1111 1111 1111 1111 1111 1111 1000按照第二步得到的 掩碼      0000 0000 0000 0000 0000 0000 0000 0111相與之后的結果就是         0000 0000 0000 0000 0000 0000 0000 0000    }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太白县| 丰都县| 赤水市| 综艺| 黄大仙区| 宁夏| 瓮安县| 蓬溪县| 丹东市| 高邑县| 岱山县| 平原县| 乐至县| 黎平县| 招远市| 洪洞县| 双江| 徐汇区| 河东区| 河池市| 荣成市| 尼勒克县| 潮安县| 抚顺市| 左权县| 武穴市| 错那县| 大港区| 黄龙县| 温宿县| 荣昌县| 墨竹工卡县| 宁德市| 信丰县| 吉木乃县| 韶山市| 措美县| 顺义区| 游戏| 泊头市| 金湖县|