Leetcode 1012 十進位制整數的反碼

2021-09-13 11:34:44 字數 817 閱讀 9840

題目

每個非負整數 n 都有其二進位制表示。例如, 5 可以被表示為二進位制 「101」,11 可以用二進位制 「1011」 表示,依此類推。注意,除 n = 0 外,任何二進位制表示中都不含前導零。

二進位制的反碼表示是將每個 1 改為 0 且每個 0 變為 1。例如,二進位制數 「101」 的二進位制反碼為 「010」。

給定十進位制數 n,返回其二進位制表示的反碼所對應的十進位制整數。

示例 1:

輸入:5

輸出:2

解釋:5 的二進位制表示為 "101",其二進位制反碼為 "010",也就是十進位制中的 2 。

示例 2:
輸入:7

輸出:0

解釋:7 的二進位制表示為 "111",其二進位制反碼為 "000",也就是十進位制中的 0 。

示例 3:
輸入:10

輸出:5

解釋:10 的二進位制表示為 "1010",其二進位制反碼為 "0101",也就是十進位制中的 5 。

0 <= n < 10^9
思路 數字

十進位制數

二進位制10

101010

~10-11

11111111111111111111111111110101

-10-10

11111111111111111111111111110110

**示例

class solution 

return n&((int)math.pow(2,pos_sum)-1);

}}

leecode 1012 十進位制整數的補碼

每個非負整數 n 都有其二進位制表示。例如,5 可以被表示為二進位制 101 11 可以用二進位制 1011 表示,依此類推。注意,除 n 0 外,任何二進位制表示中都不含前導零。二進位制的補碼表示是將每個 1 改為 0 且每個 0 變為 1。例如,二進位制數 101 的二進位制補碼為 010 給定...

m進製轉十進位制

題目描述 description 將m進製數n轉化成乙個十進位制數 m 16 題目保證轉換後的十進位制數 100 輸入描述 input description 共一行n和m 輸出描述 output description 共乙個數 表示m進製的n化成十進位制的數 樣例輸入 sample input ...

彙編實驗 十六進製制轉成十進位制以及十進位制轉十六進製制

十六進製制轉成十進位制 datas segment dbuf dw 3039h 16進製制數3039h為10進製數12345 dval db 5 dup 存放轉換後的資料 dlen dbuf datas ends stacks segment 此處輸入堆疊段 stacks ends codes se...