bin
body
body>*:first-child
body>*:last-child
p, blockquote, ul, ol, dl, table, pre
h1, h2, h3, h4, h5, h6
h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code
h1 h2
h3 h4
h5 h6
body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6
h1+p, h2+p, h3+p, h4+p, h5+p, h6+p
a a:hover
ul, ol
ul li>:first-child, ol li>:first-child, ul li ul:first-of-type, ol li ol:first-of-type, ul li ol:first-of-type, ol li ul:first-of-type
ul ul, ul ol, ol ol, ol ul
dl dl dt
dl dt:first-child
dl dt>:first-child
dl dt>:last-child
dl dd
dl dd>:first-child
dl dd>:last-child
pre, code, tt
code, tt
pre>code
pre
pre code, pre tt
kbd
blockquote
blockquote>:first-child
blockquote>:last-child
hr table th
table th, table td
table tr
table tr:nth-child(2n)
img
面試題目:
system.out.println(51 & 7);
如上**的結果是(__3__)
答案:00000000 00000000 00000000 00110011
00000000 00000000 00000000 00000111
計算機內部「只有」2進製資料。
任何資訊都必須轉換為2進製,再由計算機處理。
案例:
int i = 50;
system.out.println(integer.tobinarystring(i));
逢2進1的計數規則:
2進製書寫十分不方便:
00100111 10100010 10111111 01011101
利用16進製制縮寫(簡寫)2進製,目的就是方便書寫
4位數補碼:
經典題目:
int i = 0xffffffff;
system.out.println(i);
選擇如上**輸出結果( )
a.2147483647 b.-2147483648 c.2147483648 d.-1
> 答案: d
經典題目:
int i = 8;
system.out.println(~i+1);
如上**輸出結果( )
a.8 b.-8 c.9 d.-9
> 答案: b
int i = -8;
system.out.println(~i+1);
如上**輸出結果( )
a.8 b.-8 c.9 d.-9
> 答案: a
int i = -8;
system.out.println(~i);
如上**輸出結果( )
a.8 b.-8 c.9 d.-9 e.7
> 答案: e
~ 取反 & 與運算 | 或運算 >>> 邏輯右移位 >> 數學右移位 《左移位
案例:
將乙個中文字拆分為utf-8編碼的位元組。
運算規則:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
案例:
n = 00000000 00000000 01001110 00101101
m = 00000000 00000000 00000000 00111111
k = n&m 00000000 00000000 00000000 00101101
//如上運算的結果: k是n的後6位數!
int n = 0x4e2d;
int m = 0x3f;
int k = n&m;
//2進製輸出
基本運算規則:
0 | 0 = 0
1 | 0 = 1
0 | 1 = 1
1 | 1 = 1
案例:
int k = 00000000 00000000 00000000 00110101
int n = 00000000 00000000 00000000 10000000
int m = k|n 00000000 00000000 00000000 10110101
**:
int k = 0x35;
int n = 0x80;
int m = k|n;
//驗證結果:按照2進製輸出
規則:
2進製數字整體向右移動,高位補0
案例:
n = 00000000 00000000 00000000 10101101
m = n>>>1 000000000 00000000 00000000 1010110
k = n>>>2 0000000000 00000000 00000000 101011
**:
int n = 0xad;
int m = n>>>1;
int k = n>>>2;
//按照2進製輸出。
複習
n = 1302332.
m = 13023320. m 是 n的10倍
k = 130233200. k 是 n的100倍
如果看做小數點不動,則數字向左移動
2進製時候,規律依然存在: 數字向左移動一次,擴大2倍
n = 00000000 00000000 00000000 00110010. 50
m =n<<1 0000000 00000000 00000000 001100100. 100
k =n<<2 000000 00000000 00000000 0011001000. 200
案例:
int n = 50;
int m = n<<1;
int k = n<<2;
//int t = n<
//輸出n,m,k的十進位制和2進製
經典
優化計算 n*8
答:( n<<3 )
數學右移位:滿足數學規律(小方向取整)正數高位補0,負數高位補1,保持符號不變。案例:邏輯右移位:無論正負高位都補0
n = 11111111 11111111 11111111 11001101 -51
m=n>>1 111111111 11111111 11111111 1100110 -26
k=n>>2 1111111111 11111111 11111111 110011 -13
x=n>>>1 011111111 11111111 11111111 1100110 發生符號反轉
計算機組成原理試題2
2 在機器數 b 中,零的表示形式是唯一的。a 原碼 b 補碼 c 移碼 d 反碼 3 在定點二進位制運算器中,減法運算一般通過 d 來實現。a 原碼運算的二進位制減法器 b 補碼運算的二進位制減法器 c 原碼運算的十進位制加法器 d 補碼運算的二進位制加法器 4 某計算機字長32位,其儲存容量為2...
計算機面試題目以及心得
馬上2013年就要過去了,這半年四處奔波,經歷種種,最後好歹也算對得起自己了,所以寫下這篇文章,乙個是整理自己筆試過程遇到的題目,二個是談談自己對計算機部分崗位的認識,最後也算是年末給自己乙個總結吧!一 簡答題 1.動態鏈結庫和靜態鏈結庫分別有什麼優缺點。10 2.輪詢任務排程和搶占式任務排程的區別...
計算機網路面試題
tcp udp區別以及tcp如何保證傳輸可靠性 tcp是基於連線的協議,udp是面向非連線的協議 tcp傳輸可靠,udp傳輸不可靠 tcp的可靠性是通過順序編號和確認 ack 來實現的。tcp在開始傳送乙個段時,首先將該段插入到傳送佇列之中,同時啟動時鐘。其後,如果收到了接受端對該段的ack資訊,就...