1. 程式人生 > 實用技巧 >HashMap底層實現原理

HashMap底層實現原理

本小節重點:

1.原碼錶示法:一個數的原碼錶示由符號位直接後跟數值位構成,正數和負數的編碼表示僅符號位不同,數值部分完相同。

2.補碼錶示法:求一個正數的補碼時,只要將正號轉換為0,數值位無需改變。負數則符號位取1,其餘採用“各位求反,末位加 1"的方法

3.反碼錶示法負數的補碼可採用“各位求反,末位加 1"的方法得到

4.移碼等於補碼的符號(第一位數字)位取反。
同一數值的移碼與補碼符號位相反,其它各位相同。

難點

1.原碼補碼反碼移碼的表示和使用
疑問:對於補碼反碼還不太會用,書上的公式看不懂

作業

試題1

二進位制數-0111的8位原碼是10000111。

試題2

二進位制數-0111的8位反碼是11111000。

試題3

二進位制數-0111的8位補碼是11111001。

試題4

二進位制數-0111的8位移碼是01111001。

試題5

二進位制數-0011的8位原碼是10000011。

試題6

二進位制數-0011的8位反碼是11111100。

試題7

二進位制數-0011的8位補碼是11111101。

試題8

二進位制數-0011的8位移碼是01111101。

試題9

二進位制數-0010的8位原碼是10000010。

試題10

二進位制數-0010的8位反碼是11111101。

試題11

二進位制數-0010的8位補碼是01111110。

試題12

二進位制數-0010的8位移碼是01111110。

試題13

二進位制數+0111的8位原碼是00000111。

試題14

二進位制數+0111的8位反碼是00000111。

試題15

二進位制數+0111的8位補碼是00000111。

試題16

二進位制數+0111的8位移碼是10000111。

試題17

二進位制數+0011的8位原碼是00000011。

試題18

二進位制數+0011的8位反碼是00000011。

試題19

二進位制數+0011的8位補碼是00000011。

試題20

二進位制數+0011的8位移碼是10000011。

試題21

二進位制數+0001的8位原碼是00000001。

試題22

二進位制數+0001的8位反碼是00000001。

試題23

二進位制數+0001的8位補碼是00000001。

試題24

二進位制數+0001的8位移碼是10000001。

試題25

對於機器碼10000011,若它是補碼,對應的二進位制數真值是-1111101。

試題26

對於機器碼10000001,若它是補碼,對應的二進位制數真值是1111111。

試題27

對於機器碼00001111,若它是補碼,對應的二進位制數真值是+1111。