當前位置:編程學習大全網 - 編程語言 - 計算機初中奧賽學習內容noip

計算機初中奧賽學習內容noip

二、進制與編碼

四種常用的數制及它們之間的相互轉換:

進制 基數 基數個數 權 進數規律

十進制 0、1、2、3、4、5、6、7、8、9 10 10i 逢十進壹

二進制 0、1 2 2i 逢二進壹

八進制 0、1、2、3、4、5、6、7 8 8i 逢八進壹

十六進制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 16 16i 逢十六進壹

十進制數轉換為二進制數、八進制數、十六進制數的方法:

二進制數、八進制數、十六進制數轉換為十進制數的方法:按權展開求和法

1.二進制與十進制間的相互轉換:

(1)二進制轉十進制

方法:“按權展開求和”

例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2 )10

=(8+0+2+1+0+0.25)10

=(11.25)10

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依獎遞增,而十

分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

註意:不是任何壹個十進制小數都能轉換成有限位的二進制數。

(2)十進制轉二進制

十進制整數轉二進制數:“除以2取余,逆序排列”(短除反取余法)

例: (89)10 =(1011001)2

2 89

2 44 ……1

2 22 ……0

2 11 ……0

2 5 ……1

2 2 ……1

2 1 ……0

0 ……1

十進制小數轉二進制數:“乘以2取整,順序排列”(乘2取整法)

例: (0.625)10= (0.101)2

0.625

X 2

1.25 1

X 2

0.5 0

X 2

1.0 1

2.八進制與二進制的轉換:

二進制數轉換成八進制數:從小數點開始,整數部分向左、小數部分向右,每3位為壹組用壹位八進制數的數字表示,不足3位的要用“0”補足3位,就得到壹個八進制數。

八進制數轉換成二進制數:把每壹個八進制數轉換成3位的二進制數,就得到壹個二進制數。

例:將八進制的37.416轉換成二進制數:

3 7 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

例:將二進制的10110.0011 轉換成八進制:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.011)2 = (26.14)8

3.十六進制與二進制的轉換:

二進制數轉換成十六進制數:從小數點開始,整數部分向左、小數部分向右,每4位為壹組用壹位十六進制數的數字表示,不足4位的要用“0”補足4位,就得到壹個十六進制數。

十六進制數轉換成二進制數:把每壹個八進制數轉換成4位的二進制數,就得到壹個二進制數。

例:將十六進制數5DF.9 轉換成二進制:

5 D F . 9

0101 1101 1111 .1001

即:(5DF.9)16 =(10111011111.1001)2

例:將二進制數1100001.111 轉換成十六進制:

0110 0001 . 1110

6 1 . E

即:(1100001.111)2 =(61.E)16

註意:以上所說的二進制數均是無符號的數。這些數的範圍如下表:

無符號位二進制數位數 數值範圍 十六進制範圍表示法

8位二進制數 0~255 (255=28-1) 00~0FFH

16位二進制數 0~65535 (65535=216-1) 0000H~0FFFFH

32位二進制數 0~232-1 00000000H~0FFFFFFFFH

帶符號數的機器碼表示方法

1.帶符號二進制數的表示方法:

帶符號二進制數用最高位的壹位數來表示符號:0表示正,1表示負。

含符號位二進制數位數 數值範圍 十六進制範圍表示法

8位二進制數 -128 ~ +127 80H~7FH

16位二進制數 -32768 ~ +32767 8000H~7FFFH

32位二進制數 -2147483648 ~ +2147483647 80000000H~7FFFFFFFH

2、符號位的表示:最常用的表示方法有原碼、反碼和補碼。

(1)原碼表示法:壹個機器數x由符號位和有效數值兩部分組成,設符號位為x0,x真值的絕對值|x|=x1x2x3...xn,則x的機器數原碼可表示為:

[x]原= ,當x>=0時,x0=0,當x<0時,x0=1。

例如:已知:x1=-1011B,x2= +1001B,則x1,x2有原碼分別是

[x1] 原=11011B,[x2]原=01001B

規律:正數的原碼是它本身,負數的原碼是取絕對值後,在最高位(左端)補“1”。

(2)反碼表示法:壹個負數的原碼符號位不變,其余各位按位取反就是機器數的反碼表示法。正數的反碼與原碼相同。

按位取反的意思是該位上是1的,就變成0,該位上是0的就變成1。即1=0,0=1

例: , ,求 和 。

解: = , =

(3)補碼表示法:

首先分析兩個十進制數的運算:78-38=41,79+62=141

如果使用兩位數的運算器,做79+62時,多余的100因為超出了運算器兩位數的範圍而自動丟棄,這樣在做78-38的減法時,用79+62的加法同樣可以得到正確結果。

模是批壹個計量系統的測量範圍,其大小以計量進位制的基數為底數,位數為指數的冪。如兩位十進制數的測量範圍是1——9,溢出量是100,模就是102=100,上述運算稱為模運算,可以寫作:

79+(-38)=79+62 (mod 100)

進壹步寫為 -38=62,此時就說 –38的補法(對模100而言)是62。計算機是壹種有限字長的數字系統,因此它的運算都是有模運算,超出模的運算結果都將溢出。n位二進制的模是2n,

壹個數的補碼記作[x]補,設模是M,x是真值,則補碼的定義如下:

例:設字長n=8位,x=-1011011B,求[x]補。

解:因為 n=8,所以模 M=28=100000000B,x<0,所以

[x]補=M+x=100000000B-1011011B=10100101B

註意:這個x的補碼的最高位是“1”,表明它是壹個負數。對於二進制數還有壹種更加簡單的方法由原碼求出補碼:

(1)正數的補碼表示與原碼相同;

(2)負數的補碼是將原碼符號位保持“1”之後,其余各位按位取反,末位再加1便得到補碼,即取其原碼的反碼再加“1”:[x]補=[x]反+1。

下表列出 的8位二進制原碼,反碼和補碼並將補碼用十六進制表示。

真值 原碼(B) 反碼(B) 補碼(B) 補碼(H)

+127 0 111 1111 0 111 1111 0 111 1111 7F

+39 0 010 0111 0 010 0111 0 010 0111 27

+0 0 000 0000 0 000 0000 0 000 0000 00

-0 1 000 0000 1 111 1111 0 000 0000 00

-39 1 010 0111 1 101 1000 1 101 1001 D9

-127 1 111 1111 1 000 0000 1 000 0001 81

-128 無法表示 無法表示 1 000 0000 80

從上可看出,真值+0和-0的補碼表示是壹致的,但在原碼和反碼表示中具有不同形式。8位補碼機器數可以表示-128,但不存在+128的補碼與之對應,由此可知,8位二進制補碼能表示數的範圍是-128——+127。還要註意,不存在-128的8位原碼和反碼形式。

定點數和浮點數

(壹)定點數(Fixed-Point Number)

計算機處理的數據不僅有符號,而且大量的數據帶有小數,小數點不占有二進制壹位而是隱含在機器數裏某個固定位置上。通常采取兩種簡單的約定:壹種是約定所有機器數的小數的小數點位置隱含在機器數的最低位之後,叫定點純整機器數,簡稱定點整數。另壹種約定所有機器數的小數點隱含在符號位之後、有效部分最高位之前,叫定點純小數機器數,簡稱定點小數。無論是定點整數,還是定點小數,都可以有原碼、反碼和補碼三種形式。

(二)浮點數(Floating-Point Number)

計算機多數情況下采作浮點數表示數值,它與科學計數法相似,把壹個二進制數通過移動小數點位置表示成階碼和尾數兩部分:

其中:E——N的階碼(Expoent),是有符號的整數

S——N的尾數(Mantissa),是數值的有效數字部分,壹般規定取二進制定點純小數形式。

例:1011101B=2+7*0.1011101,101.1101B=2+3*0.1011101,0.01011101B=2-1*0.1011101

浮點數的格式如下:

E0

E1E2……………En

E0

E1E2……………En

階符 階 尾符 尾數

浮點數由階碼和尾數兩部分組成,底數2不出現,是隱含的。階碼的正負符號E0,在最前位,階反映了數N小數點的位置,常用補碼表示。二進制數N小數點每左移壹位,階增加1。尾數是這點小數,常取補碼或原碼,碼制不壹定與階碼相同,數N的小數點右移壹位,在浮點數中表現為尾數左移壹位。尾數的長度決定了數N的精度。尾數符號叫尾符,是數N的符號,也占壹位。

例:寫出二進制數-101.1101B的浮點數形式,設階碼取4位補碼,尾數是8位原碼。

-101.1101=-0.1011101*2+3

浮點形式為:

階碼0011 尾數11011101

補充解釋:階碼0011中的最高位“0”表示指數的符號是正號,後面的“011”表示指數是“3”;尾數11011101的最高位“1”表明整個小數是負數,余下的1011101是真正的尾數。

例:計算機浮點數格式如下,寫出x=0.0001101B的規格化形式,階碼是補碼,尾數是原碼。

x=0.0001101=0.1101*10-3

又[-3]補=[-001B]補=[1011]補=1101B

所以 浮點數形式是

1 101 0 1101000

ASCII碼 ( American Standard Code for Information Interchange )

美國標準信息交換代碼

將每個字符用7位的二進制數來表示,***有128種狀態

大小字母、0…9、其它符號、控制符

‘ 0 ’ ―― 48

‘ A ’ ―― 65

‘ a ’ ―― 97

漢字信息編碼

1. 漢字輸入碼

漢字輸入方法大體可分為:區位碼(數字碼)、音碼、形碼、音形碼。

區位碼:優點是無重碼或重碼率低,缺點是難於記憶;

音碼:優點是大多數人都易於掌握,但同音字多,重碼率高,影響輸入的速度;

形碼:根據漢字的字型進行編碼,編碼的規則較多,難於記憶,必須經過訓練才能較好地掌握;重碼率低;

音形碼:將音碼和形碼結合起來,輸入漢字,減少重碼率,提高漢字輸入速度。

2.漢字交換碼

漢字交換碼是指不同的具有漢字處理功能的計算機系統之間在交換漢字信息時所使用的代碼標準。自國家標準GB2312-80公布以來,我國壹直延用該標準所規定的國標碼作為統壹的漢字信息交換碼。

GB2312-80標準包括了6763個漢字,按其使用頻度分為壹級漢字3755個和二級漢字3008個。壹級漢字按拼音排序,二級漢字按部首排序。此外,該標準還包括標點符號、數種西文字母、圖形、數碼等符號682個。

由於GB2312-80是80年代制定的標準,在實際應用時常常感到不夠,所以,建議處理文字信息的產品采用新頒布的GB18030信息交換用漢字編碼字符集,這個標準繁、簡字均處同壹平臺,可解決兩岸三地間GB碼與BIG5碼間的字碼轉換不便的問題。

3.字形存儲碼

字形存儲碼是指供計算機輸出漢字(顯示或打印)用的二進制信息,也稱字模。通常,采用的是數字化點陣字模。如下圖:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

壹般的點陣規模有16×16,24×24,32×32,64×64等,每壹個點在存儲器中用壹個二進制位(bit)存儲。例如,在16×16的點陣中,需16×16bit=32 byte 的存儲空間。在相同點陣中,不管其筆劃繁簡,每個漢字所占的字節數相等。

為了節省存儲空間,普遍采用了字形數據壓縮技術。所謂的矢量漢字是指用矢量方法將漢字點陣字模進行壓縮後得到的漢字字形的數字化信息。

例題

十進制數11/128可用二進制數碼序列表示為( D ) 。

A)1011/1000000 B)1011/100000000 C) 0.001011 D) 0.0001011

算式(2047)10-(3FF)16+(2000)8的結果是( A ) 。

A)(2048)10 B)(2049)10 C) (3746)8 D) (1AF7)16

已知x=(0.1011010)2,則[x/2] =( C ) 2 。

A) 0.1011101. B) 11110110 C) 0.0101101 D) 0.100110

已知A=35H,則A∧05H∨A∧3OH的結果是:( C ) 。

A)3OH B)05H C) 35H D) 53H

[x]補碼=10011000,其原碼為(B )

A)011001111 B)11101000 C)11100110 D)01100101

下列無符號數中,最小的數是( C )

A.(11011001)2 B.(75)10 C.(37)8 D.(2A)16

計算機的運算速度取決於給定的時間內,它的處理器所能處理的數據量。處理器壹次能處理的數據量叫字長。 已知64位的奔騰處理器壹次能處理64個信息位,相當於( A )字節。

A.8個 B.1個 C.16個 D. 2個

在24*24點陣的“字庫”中,漢字“壹”與“編”的字模占用字節數分別是(C)

A.32,32 B.32,72 C.72,72 D.72,32

計算機中的數有浮點數與定點數兩種,其中用浮點數表示的數,通常由(C )這兩部分組成。

A.指數與基數 B. 尾數與小數 C. 階碼與尾數 D.整數與小數

十進制算術表達式:3*512+7*64+4*8+5的運算結果,用二進制表示為(B).

A. 10111100101 B.11111100101

C1111l0100101 D.11111101101

組成’教授’(jiao shou )’副教授’(fu jiao shou )與’講師’( jiang shi)這三個詞的漢字,在GB2312-80字符集中都是壹級漢字.對這三個詞排序的結果是(D).

A教授,副教授,講師 B.副教授,教授,講師

C講師,副教授,教授 D.副教授,講師,教授

GB2312-80規定了壹級漢字3755個,二級漢字3008個,其中二級漢字字庫中的漢字是以( B )為序排列的。

A.以筆劃多少 B.以部首 C.以ASCⅡ碼 D.以機內碼

十進制數2004等值於八進制數( B )。

A. 3077 B. 3724 C. 2766 D. 4002 E. 3755

(2004)10 + (32)16的結果是( D )。

A. (2036)10 B. (2054)16 C. (4006)10 D. (100000000110)2 E. (2036)16

十進制數100.625等值於二進制數( B )。

A. 1001100.101 B. 1100100.101 C. 1100100.011 D. 1001100.11 E. 1001100.01

以下二進制數的值與十進制數23.456 的值最接近的是(D )。

A. 10111.0101 B. 11011.1111 C. 11011.0111 D. 10111.0111 E. 10111.1111

C. CPU與內存間接不交換信息 D. CPU與內存部分交換信息

  • 上一篇:適合cad和3d建模的筆記本電腦
  • 下一篇:人工智能這壹術語誕生於哪壹年
  • copyright 2024編程學習大全網