計算機底層原理面試題 2進製

2022-07-21 17:06:27 字數 4568 閱讀 2754

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資訊,就...