static final int default_initial_capacity = 1 << 4; // aka 16
檢視hashmap原始碼,發現這個static final int default_initial_capacity = 1 << 4; 值為16。
這個是位移演算法。
例如:
4的二進位制是:0000 0100《表示往左移兩位:00 010000
只要把4轉換成二進位制,往左移兩位,再轉換成10進製得出結果既是:16
更簡單的計算方法就是 4<< n 等效於 4 乘以 2的 n 次方那十進位制的數是怎樣轉化成二進位制的數呢?有乙個最簡單的方法,就是不斷除以2。餘數寫在右邊。然後從最後乙個得到的商倒回去(商餘數排列起來),得到的數就是二進位制要表達的結果了哦。舉幾個例子,如圖。
接下來學習把二進位制的數轉化為十進位制的數。從左邊第一位數乘以2的n-1次方(冪),n代表該數字從右到左數起的位數。加上從左邊第二位數乘以2的n-2次方。
依此類推,一直到最後乙個數。乙個數的0次方是1 (0除外),看圖認真學習。圖中^的符號就是表示次方(冪)的意思,在打不出的情況下,可以這樣表示的哦。
十進位制二進位制轉換
一 整形裝換成兩個位元組 int value 456 unsigned char byte1 value 0xff00 8 高8位 unsigned char byte2 value 0xff 低8位 nslog byte1 x byte2 x byte1,byte2 byte1 1 byte2 c...
十進位制二進位制轉換
1.十進位制轉二進位制 正整數轉二進位制 除二取餘,然後倒序排列,高位補零 負整數轉二進位制 先是將對應的正整數轉換成二進位制後,對二進位製取反,然後對結果再加一。小數轉換二進位制 對小數點以後的數乘以2,取結果的整數部分 不是1就是0嘍 然後再用小數部分再乘以2,再取結果的整數部分 以此類推,直到...
十進位制二進位制轉換
二進位制轉十進位制 二進位制的1101轉化成十進位制 1101 2 1 2o 0 21 1 22 1 23 1 0 4 8 13 轉化成十進位制要從右到左用二進位制的每個數去乘以2的相應次方 不過次方要從0開始 相反 用十進位制的數除以2 每除一下將餘數就記在旁邊 最後按餘數從下向上排列就可得到11...