-9 逆序输出一个整数的各位数字_计算机基础知识: 信息数字化
計算機、數(shù)據(jù)與信息
無符號位數(shù)的表示
(一)、四種常用的數(shù)制及它們之間的相互轉(zhuǎn)換:
進制 | 基數(shù) | 基數(shù)個數(shù) | 權(quán) | 進數(shù)規(guī)律 |
十進制 | 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 | 逢十六進一 |
注意:在進行十六進制運算時,A、B、C、D、E、F六個字母要化成對應(yīng)的十進制數(shù):
10、11、12、13、14、15,詳見后面例題。
十進制、二進制、八進制與十六進制數(shù)字對照表(要求熟記于心)
十進制 | 二進制 | 八進制 | 十六進制 |
0 | 0000 | 0 | 0 |
1 | 0001 | 1 | 1 |
2 | 0010 | 2 | 2 |
3 | 0011 | 3 | 3 |
4 | 0100 | 4 | 4 |
5 | 0101 | 5 | 5 |
6 | 0110 | 6 | 6 |
7 | 0111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
十進制數(shù)轉(zhuǎn)換為二進制數(shù)、八進制數(shù)、十六進制數(shù)的方法:
整數(shù)轉(zhuǎn)換方法:除基反取余法
小數(shù)轉(zhuǎn)換方法:乘基取整法
二進制數(shù)、八進制數(shù)、十六進制數(shù)轉(zhuǎn)換為十進制數(shù)的方法:按權(quán)展開求和法
1.二進制與十進制間的相互轉(zhuǎn)換:
?(1)二進制轉(zhuǎn)十進制
方法:“按權(quán)展開求和”
?? 例:? (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
規(guī)律:個位上的數(shù)字的次數(shù)是0,十位上的數(shù)字的次數(shù)是1,......,依獎遞增,而十分位的數(shù)字的次數(shù)是-1,百分位上數(shù)字的次數(shù)是-2,......,依次遞減。
??????? 注意:不是任何一個十進制小數(shù)都能轉(zhuǎn)換成有限位的二進制數(shù)。
(2)十進制轉(zhuǎn)二進制
· 十進制整數(shù)轉(zhuǎn)二進制數(shù):“除以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
· 十進制小數(shù)轉(zhuǎn)二進制數(shù):“乘以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.八進制與二進制的轉(zhuǎn)換:
二進制數(shù)轉(zhuǎn)換成八進制數(shù):從小數(shù)點開始,整數(shù)部分向左、小數(shù)部分向右,每3位為一組用一位八進制數(shù)的數(shù)字表示,不足3位的要用“0”補足3位,就得到一個八進制數(shù)。
八進制數(shù)轉(zhuǎn)換成二進制數(shù):把每一個八進制數(shù)轉(zhuǎn)換成3位的二進制數(shù),就得到一個二進制數(shù)。
例:將八進制的37.416轉(zhuǎn)換成二進制數(shù):
3???7?? . 4??? 1???6
011?111? .100? 001? 110
即:(37.416)8 =(11111.10000111)2
例:將二進制的10110.0011 轉(zhuǎn)換成八進制:
?0 1 0? 11 0 . 0 0 1 1 0 0??
2??? 6?.? 1??? 4
????? 即:(10110.011)2= (26.14)8
3.十六進制與二進制的轉(zhuǎn)換:
二進制數(shù)轉(zhuǎn)換成十六進制數(shù):從小數(shù)點開始,整數(shù)部分向左、小數(shù)部分向右,每4位為一組用一位十六進制數(shù)的數(shù)字表示,不足4位的要用“0”補足4位,就得到一個十六進制數(shù)。
十六進制數(shù)轉(zhuǎn)換成二進制數(shù):把每一個八進制數(shù)轉(zhuǎn)換成4位的二進制數(shù),就得到一個二進制數(shù)。
例:將十六進制數(shù)5DF.9 轉(zhuǎn)換成二進制:
???5??? D???? F? . 9
???0101? 1101? 1111 .1001
???即:(5DF.9)16=(10111011111.1001)2
例:將二進制數(shù)1100001.111 轉(zhuǎn)換成十六進制:
????0110? 0001? . 1110
?????6???? 1??? .? E
??即:(1100001.111)2=(61.E)16
注意:以上所說的二進制數(shù)均是無正、負符號的數(shù)。這些數(shù)的范圍如下表:
無符號位二進制數(shù)位數(shù) | 數(shù)值范圍 | 十六進制范圍表示法 |
8位二進制數(shù) | 0~255? (255=28-1) | 00~0FFH |
16位二進制數(shù) | 0~65535 (65535=216-1) | 0000H~0FFFFH |
32位二進制數(shù) | 0~232-1 | 00000000H~0FFFFFFFFH |
符號位數(shù)的表示
一、符號數(shù)的機器碼表示方法
1.帶符號二進制數(shù)的表示方法:
帶符號二進制數(shù)用最高位的一位數(shù)來表示符號:0表示正,1表示負。
含符號位二進制數(shù)位數(shù) | 數(shù)值范圍 | 十六進制范圍表示法 |
8位二進制數(shù) | -128 ~ +127 | 80H~7FH |
16位二進制數(shù) | -32768 ~ ?+32767 | 8000H~7FFFH |
32位二進制數(shù) | -2147483648 ?~ +2147483647 | 80000000H~7FFFFFFFH |
2、符號位的機器碼表示:
1)機器數(shù)和真值
數(shù)在計算機中的表示形式統(tǒng)稱為機器數(shù),它有兩上特點:其一,數(shù)的符號數(shù)值化;其二,二進制數(shù)的位數(shù)受計算機設(shè)備字長的限制。
字長:機器內(nèi)部一次能表示的二進制位數(shù)由機器的字長,字長8位叫一個字節(jié)(Byte),一般機器字長都是字節(jié)的整數(shù)倍,如字長8位、16位、32位、64位等。
機器數(shù)的真值:指帶符號位的機器數(shù)所對應(yīng)的十進制數(shù)值;如符號數(shù)01001B,11011B的真值分別是+9和-11。
2)最常用的機器數(shù)的表示方法:原碼、反碼和補碼。
(1)原碼表示法:一個機器數(shù)x由符號閏和有效數(shù)值兩部分組成,設(shè)符號位為x0,x真值的絕對值|x|=x1x2x3...xn,則x的機器數(shù)原碼可表示為:
[x]原= ,當(dāng)x>=0時,x0=0,當(dāng)x<0時,x0=1。
例如:已知:x1=-1011B,x2= +1001B,則x1,x2有原碼分別是
[x1]原=11011B,[x2]原=01001B
規(guī)律:正數(shù)的原碼是它本身,負數(shù)的原碼是取絕對值后,在最高位(左端)補“1”。
(2)反碼表示法:一個負數(shù)的原碼符號位不變,其余各位按位取反就是機器數(shù)的反碼表示法。正數(shù)的反碼與原碼相同。
按位取反的意思是該位上是1的,就變成0,該位上是0的就變成1。即1=0,0=1
設(shè)[x]原=,則當(dāng)x0=0時,[x]反=[x]原=,
當(dāng)x0=1時,[x]反=[x]原=。
例:,,求和。
解:=,=
(3)補碼表示法:
首先分析兩個十進制數(shù)年運算:78-38=41,79+62=141
如果使用兩位數(shù)的運算器,做79+62時,多余的100因為超出了運算器兩位數(shù)的范圍而自動丟棄,這樣在做78-38的減法時,用79+62的加法同樣可以得到正確結(jié)果。
模是批一個計量系統(tǒng)的測量范圍,其大小以計量進位制的基數(shù)為底數(shù),位數(shù)為指數(shù)的冪。如兩位十進制數(shù)的測量范圍是1——9,溢出量是100,模就是102=100,上述運算稱為模運算,可以寫作:
79+(-38)=79+62?? (mod? 100)
進一步寫為? -38=62,此時就說 –38的補法(對模100而言)是62。計算機是一種有限字長的數(shù)字系統(tǒng),因此它的運算都是有模運算,超出模的運算結(jié)果都將溢出。n位二進制的模是2n,
一個數(shù)的補碼記作[x]補,設(shè)模是M,x是真值,則補碼的定義如下:
例:設(shè)計算機字長n=8位,機器數(shù)真值x=-1011011B,求[x]補。
解:因為? n=8,所以模 M=28=100000000B,x<0,所以
[x]補=M+x=100000000B-1011011B=10100101B
注意:這個x的補碼的最高位是“1”,表明它是一個負數(shù)。對于二進制數(shù)還有一種更加簡單的方法由原碼求出補碼:
(1)正數(shù)的補碼表示與原碼相同;
(2)負數(shù)的補碼是將原碼符號位保持“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位補碼機器數(shù)可以表示-128,但不存在+128的補碼與之對應(yīng),由此可知,8位二進制補碼能表示數(shù)的范圍是-128——+127。還要注意,不存在-128的8位原碼和反碼形式。
二、定點數(shù)和浮點數(shù)
(一)定點數(shù)(Fixed-Point Number)
??? 計算機處理的數(shù)據(jù)不僅有符號,而且大量的數(shù)據(jù)帶有小數(shù),小數(shù)點不占有二進制一位而是隱含在機器數(shù)里某個固定位置上。通常采取兩種簡單的約定:一種是約定所有機器數(shù)的小數(shù)的小數(shù)點位置隱含在機器數(shù)的最低位之后,叫定點純整機器數(shù),簡稱定點整數(shù)。如
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
小數(shù)點位置
??? 若有符號位,符號位仍在最高位。因小數(shù)點隱含在數(shù)的最低位之后,所以上數(shù)表示+1011001B。另一種約定所有機器數(shù)的小數(shù)點隱含在符號位之后、有效部分最高位之前,叫定點純小數(shù)機器數(shù),簡稱定點小數(shù),例如
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
小數(shù)點位置
最高位是符號,小數(shù)點在符號位之后,所以上數(shù)表示 -0.0101101B。
??? 無論是定點整數(shù),還是定點小數(shù),都可以有原碼、反碼和補碼三種形式。例如定點小數(shù)
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
如果這是個原碼表示的定點小數(shù),[x]原=11110000B,則x= -0.111B=-0.875D,如這是補碼表示的定點小數(shù),[x]補=11110000B,則[x]原=10010000B,則x= -0.001B=-0.125D。(想一想,如何由補碼求原碼?)
(二)浮點數(shù)(Floating-Point Number)
??? 計算機多數(shù)情況下采作浮點數(shù)表示數(shù)值,它與科學(xué)計數(shù)法相似,把一個二進制數(shù)通過移動小數(shù)點位置表示成階碼和尾數(shù)兩部分:
??? 其中:E——N的階碼(Expoent),是有符號的整數(shù)
??????? ?S——N的尾數(shù)(Mantissa),是數(shù)值的有效數(shù)字部分,一般規(guī)定取二進制定點純小數(shù)形式。
例:1011101B=2+7*0.11101,101.1101B=2+3*0.1011101,0.01011101B=2-1*1011101
??? 浮點數(shù)的格式如下:
E0 | E1E2……………En | E0 | E1E2……………En |
????????????????? 階符??????? 階??????????? 尾符?????? 尾數(shù)????????????????
??? 浮點數(shù)由階碼和尾數(shù)兩部分組成,底數(shù)2在機器數(shù)中不出現(xiàn),是隱含的。階碼的正負符號E0,在最前位,階反映了數(shù)N小數(shù)點的位置,常用補碼表示。二進制數(shù)N小數(shù)點每左移一位,階增加1。尾數(shù)是這點小數(shù),常取補碼或原碼,碼制不一定與階碼相同,數(shù)N的小數(shù)點右移一位,在浮點數(shù)中表現(xiàn)為尾數(shù)左移一位。尾數(shù)的長度決定了數(shù)N的精度。尾數(shù)符號叫尾符,是數(shù)N的符號,也占一位。
例:寫出二進制數(shù)-101.1101B的浮點數(shù)形式,設(shè)階碼取4位補碼,尾數(shù)是8位原碼。
-101.1101=-0.1011101*2+3
浮點形式為:
?????????????? 階碼0011?? 尾數(shù)11011101
補充解釋:階碼0011中的最高位“0”表示指數(shù)的符號是正號,后面的“011”表示指數(shù)是“3”;尾數(shù)11011101的最高位“1”表明整個小數(shù)是負數(shù),余下的1011101是真正的尾數(shù)。
浮點數(shù)運算后結(jié)果必須化成規(guī)格化形式,所謂規(guī)格化,是指對于原碼尾數(shù)來說,應(yīng)使最高位數(shù)字S1=1,如果不是1且尾數(shù)不是全0時就要移動尾數(shù)直到S1=1,階碼相應(yīng)變化,保證N值不變。
例:計算機浮點數(shù)格式如下,寫出x=0.0001101B的規(guī)格化形式,階碼是補碼,尾數(shù)是原碼。
x=0.0001101=0.1101*10-3
又[-3]補=[-001B]補=[1011]補=1101B
所以? 規(guī)格化浮點數(shù)形式是?
1 | 101 | 0 | 1101000 |
三、ASCII碼 ( American Standard Code forInformation Interchange )
美國標準信息交換代碼
???將每個字符用7位的二進制數(shù)來表示,共有128種狀態(tài)
大小字母、0…9、其它符號、控制符
‘ 0 ’? ――? 48
‘ A ’ ――? 65
‘ a ’? ――? 97
漢字信息編碼
1.漢字輸入碼
漢字輸入方法大體可分為:區(qū)位碼(數(shù)字碼)、音碼、形碼、音形碼。
· 區(qū)位碼:優(yōu)點是無重碼或重碼率低,缺點是難于記憶;
· 音碼:優(yōu)點是大多數(shù)人都易于掌握,但同音字多,重碼率高,影響輸入的速度;
· 形碼:根據(jù)漢字的字型進行編碼,編碼的規(guī)則較多,難于記憶,必須經(jīng)過訓(xùn)練才能較好地掌握;重碼率低
· 音形碼:將音碼和形碼結(jié)合起來,輸入漢字,減少重碼率,提高漢字輸入速度;
2.漢字交換碼
漢字交換碼是指不同的具有漢字處理功能的計算機系統(tǒng)之間在交換漢字信息時所使用的代碼標準。自國家標準GB2312-80公布以來,我國一直延用該標準所規(guī)定的國標碼作為統(tǒng)一的漢字信息交換碼。
GB2312-80標準包括了6763個漢字,按其使用頻度分為一級漢字3755個和二級漢字3008個。一級漢字按拼音排序,二級漢字按部首排序。此外,該標準還包括標點符號、數(shù)種西文字母、圖形、數(shù)碼等符號682個。
區(qū)位碼的區(qū)碼和位碼均采用從01到94的十進制,國標碼采用十六進制的21H到73H(數(shù)字后加H表示其為十六進制數(shù))。區(qū)位碼和國標碼的換算關(guān)系是:區(qū)碼和位碼分別加上十進制數(shù)32。如“國”字在表中的25行90列,其區(qū)位碼為2590,國標碼是397AH。
* 由于GB2312-80是80年代制定的標準,在實際應(yīng)用時常常感到不夠,所以,建議處理文字信息的產(chǎn)品采用新頒布的GB18030信息交換用漢字編碼字符集,這個標準繁、簡字均處同一平臺,可解決兩岸三地間GB碼與BIG5碼間的字碼轉(zhuǎn)換不便的問題。
3.字形存儲碼
字形存儲碼是指供計算機輸出漢字(顯示或打印)用的二進制信息,也稱字模。通常,采用的是數(shù)字化點陣字模。如下圖:
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 |
一般的點陣規(guī)模有16×16,24×24,32×32,64×64等,每一個點在存儲器中用一個二進制位(bit)存儲。例如,在16×16的點陣中,需16×16=8×32 bit 的存儲空間,每8bit為1字節(jié),所以,需32字節(jié)的存儲空間。在相同點陣中,不管其筆劃繁簡,每個漢字所占的字節(jié)數(shù)相等。
為了節(jié)省存儲空間,普遍采用了字形數(shù)據(jù)壓縮技術(shù)。所謂的矢量漢字是指用矢量方法將漢字點陣字模進行壓縮后得到的漢字字形的數(shù)字化信息。
4.其它信息的數(shù)字化
1)、圖像信息的數(shù)字化
一幅圖像可以看作是由一個個像素點構(gòu)成,圖像的信息化,就是對每個像素用若干個二進制數(shù)碼進行編碼。圖像信息化后,往往還要進行壓縮。
圖像文件的后綴名有:bmp、gif、jpg等;
2)、聲音信息的數(shù)字化
自然界的聲音是一種連續(xù)變化的模擬信息,可以采用A/D轉(zhuǎn)換器對聲音信息進行數(shù)字化。
聲音文件的后綴名有:wav、mp3、mid等;
3)、視頻信息的數(shù)字化
視頻信息可以看成連續(xù)變換的多幅圖像構(gòu)成,播放視頻信息,每秒需傳輸和處理25幅以上的圖像。視頻信息數(shù)字化后的存儲量相當(dāng)大,所以需要進行壓縮處理。
視頻文件后綴名有:avi、mpg等;
總結(jié)
以上是生活随笔為你收集整理的-9 逆序输出一个整数的各位数字_计算机基础知识: 信息数字化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7 yum源_搭建内网Lin
- 下一篇: 能量时域空间物理_5G新在哪儿(11)-