按位取反符號的介紹

2021-10-23 06:58:02 字數 805 閱讀 5482

前言:

~是我最近做面試題的時候遇到的符號,我不知道是什麼含義,上網上查詢之後才知道,下面我通過例題來說明這個符號使用之後的結果是什麼

例題:

public class test

}

what is the decimal value fo j at line5?

a、0b、1

c、14

d、-15

e、an error at line 3 causes compilation to fail.

f、an error at line 4 causes compilation to fail.

答案:c

解釋:

首先上面的英文是面試題中的英文,大家可別懟我裝逼拽英文,o(∩_∩)o哈哈~,開始說正題,問題是:第5行的10進製值是什麼?,那我們去看下程式,第5行是列印j的值,從前面開始看吧,首先i是乙個16進製制數,然後j是i按位取反後的結果,如果想要找j,那就要對i進行按位取反,所以現在的問題就變成了如何進行按位取反,如果二進位制按位取反那就是0變成1和1變成0,這個大家都知道。那16進製制呢,首先16進製制有16個數,分別是0到15,那0按位取反就是15,也就是f,而f按位取反就是0,這個也好理解,如果是16進製制的a按位取反呢,那就是該進製最大數減去該數,也就是15減去10,那就是5,那從這就可以知道16進製制的1按位取反之後就是14,也就是e,所以上面的0xfffffff1按位取反之後就是0x0e,如果變成10進製那就是14,所以選c

python 中按原碼取反 按位取反

在python中,按位運算的結果與c c 中位運算結果不同,原因主要是c c 是按原碼來取反。而在python中,取反的運算的流程是這樣的 先獲得其二進位制 原碼 進行取反操作。將第一步的結果,當作補碼。求這個補碼的原碼,這個原碼就是輸出的結果。補 碼求原碼的過程,先減1,再取反。由於是這樣的邏輯,...

按位取反符

二進位制數在記憶體中以補碼的形式儲存。按位取反 二進位制每一位取反,0變1,1變0。9的計算步驟 轉二進位制 0 1001 計算補碼 0 1001 按位取反 1 0110 轉為原碼 按位取反 1 1001 末位加一 1 1010 符號位為1是負數,即 10 var x 10 在計算機中乙個整型數4位...

按位取反 100 101

首先看等號左邊 100 的二進位制表示為 0110 0100 按位取反的意思就是每一位取反,0變1,1變0 所以 100 的二進位制表示為 1001 1011 所以等號左邊 1001 1011 再看右邊 101.一旦看到出現負數,那麼這個數一定是按有符號數的規則來表示的。乙個二進位制數 按位取反並加...