版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.1.3二進制整數(shù)編碼51.4二進制小數(shù)編碼5.1.5二進制補碼運算5.1.1常用數(shù)制的特征5.1.2不同數(shù)制的轉(zhuǎn)換[增強版]5.1.1常用數(shù)制的特征1、十進制數(shù)編碼進制是按進位方式計數(shù)的數(shù)制系統(tǒng)。運算規(guī)則:逢十進一,借一當十。十進制中,各數(shù)字的權(quán)為10的整數(shù)次冪。【例5-1】將十進制數(shù)708按位權(quán)展開。708=7×102+8×100【例5-2】將十進制數(shù)12.34按位權(quán)方式展開。十進制數(shù)表示方式:[23]10或23D。12.34=1×101+2×100+3×10-1+4×10-2基數(shù)權(quán)數(shù)碼5.1.1常用數(shù)制的特征2、二進制數(shù)編碼基本符號:0、1;運算規(guī)則:逢二進一,借一當二。四則運算規(guī)則:(1)加法運算:0+0=0,0+1=1,1+0=1,1+1=10(有進位)(2)減法運算:0-0=0,1-0=1,1-1=0,0-1=1(有借位)(3)乘法運算:0×0=0,1×0=0,0×1=0,1×1=1(4)除法運算:0÷1=0,1÷1=1(除數(shù)不能為0)
101001015.1.1常用數(shù)制的特征【案例】二進制數(shù)的四則運算。5.1.1常用數(shù)制的特征【擴展】二進制數(shù)的移位運算。乘2相當于左移1位后,在尾部補0;除2相當于右移1位后,在高位補0。5.1.1常用數(shù)制的特征二進制中,數(shù)字符號的權(quán)為2的整數(shù)次冪。如,23,22,21,20,2-1,2-2……?!纠?-3】將二進制數(shù)1011按位權(quán)展開。[1011]2=1×23+1×21+1×20【例5-4】將二進制數(shù)1011.0101按位權(quán)展開。[1011.0101]2=1×23+1×21+1×20+1×2-2+1×2-4二進制數(shù)用下標或在數(shù)字尾部加B表示如,[1011]2或1011B。5.1.1常用數(shù)制的特征3、十六進制數(shù)編碼十六進制符號:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。運算規(guī)則:逢16進1,借1當16。計算機內(nèi)部并不采用十六進制數(shù)進行運算;十六進制數(shù)是為了便于專業(yè)人員方便轉(zhuǎn)換為二進制數(shù)。十六進制數(shù)用下標或在數(shù)字尾部加H表示。如:[18]16或18H;有時用前置“0x”表示十六進制數(shù);如:0x000012A5表示十六進制數(shù)12A5。5.1.1常用數(shù)制的特征常用數(shù)制之間的關(guān)系如表5-1所示。十進制數(shù)十六進制數(shù)二進制數(shù)BCD編碼000000000011000100012200100010330011001144010001005501010101660110011077011101118810001000991001100110A10100001000011B10110001000112C11000001001013D11010001001114E11100001010015F1111000101015.1.1常用數(shù)制的特征4、任意進制數(shù)的表示方法任何進位制都能用有限個數(shù)字符號表示所有數(shù)。進制稱為基數(shù),如二進制的基數(shù)為2;不同數(shù)位上的數(shù)字有不同的位權(quán)。任意R進制數(shù),可用公式(5-1)表示:N=An-1×Rn-1+An-2×Rn-2+…+A0×R0+A-1×R-1+…+A-m×R-m
(5-1)A為任意進制數(shù),R為基數(shù),n為整數(shù)的位數(shù)和權(quán),m為小數(shù)的位數(shù)和權(quán)?!纠?-5】十進制數(shù)43.21按位權(quán)展開表示。43.21=4×101+3×100+2×10-1+1×10-2【例5-6】二進制數(shù)1101.11按位權(quán)展開表示。[1101.11]2=1×23+1×22+0×21+1×2-0+1×2-1+1×2-2《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.1.3二進制整數(shù)編碼51.4二進制小數(shù)編碼5.1.5二進制補碼運算5.1.1常用數(shù)制的特征5.1.2不同數(shù)制的轉(zhuǎn)換5.1.2不同數(shù)制的轉(zhuǎn)換1、二進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換表5-2給出了2的整數(shù)次冪和十進制數(shù)值的對應(yīng)關(guān)系。將二進制數(shù)各位的數(shù)乘以對應(yīng)的權(quán)再累加起來?!纠?-8】將[1101.101]2按位權(quán)展開轉(zhuǎn)換成十進制數(shù)。[1101.101]2=[23+22+20+2-1+2-3]10
=[8+4+1+0.5+0.125]10=[13.625]102n2827262524232221202-12-22-32-4十進制數(shù)值25612864321684210.50.250.1250.06255.1.2不同數(shù)制的轉(zhuǎn)換2、十進制數(shù)與二進制數(shù)轉(zhuǎn)換整數(shù)部分與小數(shù)部分分開轉(zhuǎn)換;整數(shù)部分采用除2取余法;小數(shù)部分采用乘2取整法?!纠?-9】十進制18.8125轉(zhuǎn)換為二進制數(shù)。整數(shù)除2取余,余數(shù)從低到高排列:18÷2=9余
0,9÷2=4余
1,4÷2=2余
0,2÷2=1余
0,1小于2不再除余
1;18=[10010]2;小數(shù)乘2取整,積的整數(shù)從高到低排列:0.8125×2=
1.625,0.625×2=
1.25,0.25×2=
0.5,0.50×2=
1.0;0.8125=[0.1101]2運算結(jié)果:[18.8125]10=[10010.1101]25.1.2不同數(shù)制的轉(zhuǎn)換【例5-9】十進制18.8125轉(zhuǎn)換為二進制數(shù)的豎式計算。5.1.2不同數(shù)制的轉(zhuǎn)換【案例】十進制數(shù)100.345轉(zhuǎn)換為二進制數(shù)的豎式計算。100.345D≈1100100.01011B1.3800.34520.69022
0.7602
1.520210025022521226232100010011
1.040余數(shù)達到精度要求后不再乘小數(shù)部分整數(shù)部分5.1.2不同數(shù)制的轉(zhuǎn)換3、二進制數(shù)與十六進制數(shù)轉(zhuǎn)換整數(shù)自右向左4位一組,不足4位時,在整數(shù)前面加0補足4位;小數(shù)自左向右4位一組,不足4位時,在小數(shù)后面加0補足4位;然后每4位二進制數(shù)對應(yīng)1位十六進制數(shù),即可得到十六進制數(shù)?!纠?-10】將二進制數(shù)111101.010111轉(zhuǎn)換為十六進制數(shù)。[111101.010111]2=[00111101.01011100]2=[3D.5C]1600111101?010111003D?5C5.1.2不同數(shù)制的轉(zhuǎn)換4、十六進制數(shù)與二進制數(shù)轉(zhuǎn)換以小數(shù)點為界,1位十六進制數(shù)對應(yīng)4位二進制數(shù)?!纠?-11】:將十六進制數(shù)4B.61轉(zhuǎn)換為二進制數(shù)。[4B.61]16=[01001011.01100001]24B?6101001011?011000015.1.2不同數(shù)制的轉(zhuǎn)換5、BCD編碼數(shù)制轉(zhuǎn)換存在的問題:需要進行乘法和除法運算,計算速度不快;需要進行浮點運算,存儲和計算較為復(fù)雜,計算效率低。BCD碼是一種二—十進制編碼;BCD碼用4位二進制數(shù)表示1位十進制數(shù)。8421碼是最常用的BCD編碼,它各位的權(quán)值為:8、4、2、1;BCD碼只選用了4位二進制編碼中前10組代碼。BCD碼不使用1010~1111六組編碼;編碼到1001后就產(chǎn)生進位。5.1.2不同數(shù)制的轉(zhuǎn)換BCD編碼與十進制數(shù)的對應(yīng)關(guān)系如圖5-4所示?!纠?-12】將十進制數(shù)10.89轉(zhuǎn)換為BCD碼。10.89=[00010000.10001001]BCD【例5-13】將BCD碼[01110110.10000001]BCD轉(zhuǎn)換為十進制數(shù)。[01110110.10000001]BCD=76.81十進制數(shù)012345678910BCD編碼000000010010001101000101011001111000100100010000十進制數(shù)10?89BCD碼00010000?10001001BCD碼01110110?10000001十進制數(shù)76?815.1.2不同數(shù)制的轉(zhuǎn)換常用數(shù)制之間的轉(zhuǎn)換方法如圖5-8所示?!队嬎銠C導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.1.3二進制整數(shù)編碼51.4二進制小數(shù)編碼5.1.5二進制補碼運算5.1.1常用數(shù)制的特征5.1.2不同數(shù)制的轉(zhuǎn)換5.1.3二進制整數(shù)編碼1、無符號二進制整數(shù)編碼形式運算結(jié)果超出數(shù)據(jù)表示范圍稱為“溢出”。如,8位無符號數(shù)運算結(jié)果大于255時,就會產(chǎn)生“溢出”?!纠?-15】[11001000]2+[01000001]=100001001(最高位1溢出)編碼字節(jié)越長,數(shù)值表示范圍越大,越不容易導(dǎo)致“溢出”問題?!耙钥臻g換時間”的計算思維方式:如果小數(shù)值用1字節(jié)存儲,大數(shù)值用多字節(jié)存儲,這種變長存儲會使計算復(fù)雜化,因為需要增加定義數(shù)據(jù)長度位;計算時需要對每個數(shù)據(jù)進行長度判斷。因此,程序設(shè)計時先要定義數(shù)據(jù)類型,同一類型數(shù)據(jù)采用統(tǒng)一存儲長度。這樣雖然會浪費一些存儲空間,但提高了運算速度。5.1.3二進制整數(shù)編碼【例5-16】不同存儲長度時,無符號十進制數(shù)[86]10的編碼形式。1字節(jié)存儲:01010110
2字節(jié)存儲:0000000001010110
4字節(jié)存儲:000000000000000000000000010101105.1.3二進制整數(shù)編碼2、帶符號二進制整數(shù)編碼形式計算機用最高位作為符號位,0表示正數(shù),1表示負數(shù),其余位表示數(shù)值大小。符號化的二進制數(shù)稱為機器數(shù)或原碼;沒有符號化的數(shù)稱為真值。機器數(shù)長度固定(如8、16、32、64位)。當二進制數(shù)位數(shù)不夠時,整數(shù)在最高位前用0補足,小數(shù)在最低位后用0補足?!景咐慷M制數(shù)+1011真值與機器數(shù)區(qū)別如下。真值8位機器數(shù)(原碼)16位機器數(shù)(原碼)+101110001011100000000000101115.1.3二進制整數(shù)編碼3、常用數(shù)據(jù)類型的存儲長度和表示范圍計算機中,同一類型的數(shù)據(jù)具有相同的存儲長度,與數(shù)據(jù)的實際長度無關(guān)。C語言中數(shù)據(jù)類型的長度以及數(shù)值域(32位編譯器)數(shù)據(jù)類型標識符類型說明存儲長度(字節(jié))數(shù)值范圍有效位char字符型1——unsignedchar無符號字符型2——shortint短整型2-32768~327675unsignedshortint無符號短整型20~655355int整型4-2147483648~214748364710unsignedint無符號整型40~429496729510float實型(浮點單精度)41.18×10-38~3.40×1038
7double實型(浮點雙精度)82.23×10-308~1.79×10308
15longdouble實型(浮點長雙精度)103.37×10-4932~1.18×104932
195.1.3二進制整數(shù)編碼4、大整數(shù)的表示與計算一般情況下,最大有效數(shù)據(jù)為19位。超過編程語言表示范圍的大整數(shù),必須采用其它方式處理?!纠?-19】在Excel2010中,計算12345000000000000000+9999計算結(jié)果=12345000000000000000可見加數(shù)被完全忽略,因為Excel只有16位有效數(shù)據(jù);超出16位時,雖然可以表達和計算,但將產(chǎn)生計算誤差。5.1.3二進制整數(shù)編碼密碼算法都建立在大整數(shù)運算基礎(chǔ)上。如,要存儲100位有效數(shù)時,任何編程語言都無法處理;簡單方法:用字符串數(shù)組來存儲這個100位的有效數(shù)。大整數(shù)只能一位一位或幾位幾位輸入;或者用字符串的形式輸入。大整數(shù)加法:模擬豎式加法,從個位逐位相加;超過或達到10則進位;進位保存在中間變量中;相加結(jié)果存放在數(shù)組中。大整數(shù)的加減運算必須編寫程序?qū)崿F(xiàn)。5.1.3二進制整數(shù)編碼【例5-20】計算:12345678901234567890+97661470000796256798
12345678901234567890+97661470000796256798
進位1
10
1
0
0
1
01
1
0110007148902030824688《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.1.3二進制整數(shù)編碼51.4二進制小數(shù)編碼5.1.5二進制補碼運算5.1.1常用數(shù)制的特征5.1.2不同數(shù)制的轉(zhuǎn)換5.1.4二進制小數(shù)編碼1、定點數(shù)編碼方法定點數(shù):小數(shù)點位置固定不變的數(shù)。定點數(shù)有定點整數(shù)和定點小數(shù)。增加存儲長度可以提高小數(shù)的精度?!纠?-21】將二進制數(shù)-0.1001001用2個字節(jié)存儲為定點小數(shù)。定點整數(shù)和定點小數(shù):11001001
00000000S小數(shù)點符號位S小數(shù)點5.1.4二進制小數(shù)編碼2、浮點數(shù)編碼方法實數(shù)可以表示成:一個純小數(shù)和一個乘冪之積的形式?!纠?-22】123.45=0.12345103【例5-23】0.0034574=0.3457410-2【例5-24】3.14=3.14100=0.314101(規(guī)格化表示方式)小數(shù)點位置變化的數(shù)稱為浮點數(shù)。浮點數(shù)指數(shù)表示:指數(shù)稱為“階碼”,小數(shù)稱為“尾數(shù)”。二進制數(shù)的階碼和尾數(shù)都用二進制數(shù)表示?!纠?-25】[1001.011]2=[0.1001011]22100【例5-26】[-0.0010101]2=[-0.10101]22-105.1.4二進制小數(shù)編碼任意二進制浮點數(shù)公式:N=±M×2±E
(5-2)式中,M為尾數(shù)(純小數(shù)部分),整數(shù)E為階碼,M與E都帶符號。例如:-1101B=-0.1101B×24
階碼小數(shù)點尾數(shù)二進制浮點數(shù)特征:尾數(shù)的位數(shù)決定數(shù)的精度;階碼的位數(shù)決定數(shù)的范圍。階符階碼E尾符S尾數(shù)M
(定點整數(shù))
(定點小數(shù))5.1.4二進制小數(shù)編碼【例5-27】[-0.00011011]2=[-0.11011]2×2-11的32位編碼如下:以上數(shù)據(jù)在計算機中的32位存儲格式如下:階符階碼尾符尾數(shù)10000011111011000000000000000000312423
1615870100000111110110000000000000000005.1.4二進制小數(shù)編碼3.二進制小數(shù)的截斷誤差(1)浮點數(shù)存儲空間不夠引起的截斷誤差截斷誤差(舍入誤差):
二進制浮點數(shù)存儲時,如果尾數(shù)存儲空間不夠,會導(dǎo)致部分小數(shù)丟失。
可以使用較長的尾數(shù)域,減少截斷誤差?!纠?-28】二進制數(shù)10.101存儲為8位浮點數(shù)時,將引起截斷誤差。010010101(最后一位丟失)5.1.4二進制小數(shù)編碼(2)數(shù)值轉(zhuǎn)換引起的截斷誤差截斷誤差的另外一個來源是無窮展開式。二進制中,有無窮展開式的數(shù)值多于十進制數(shù)。十進制小數(shù)轉(zhuǎn)換成二進制時,不能保證精確轉(zhuǎn)換;二進制小數(shù)轉(zhuǎn)換成十進制,也遇到同樣的問題?!纠?-29】十進制數(shù)0.8轉(zhuǎn)換為二進制時為:0.11001100......【例5-30】十進制數(shù)1/10轉(zhuǎn)換為二進制數(shù)時,也會遇到無窮展開式問題。十—二進制小數(shù)轉(zhuǎn)換時,可根據(jù)精度要求取近似值,或采用0舍1入規(guī)則。5.1.4二進制小數(shù)編碼(3)浮點數(shù)的相加順序一個大數(shù)加上一個小數(shù),那么小數(shù)可能被截斷。多個數(shù)值相加的原則是先相加小數(shù)字,避免產(chǎn)生截斷誤差。大多數(shù)商用軟件提供的計算精度已經(jīng)足夠了。特殊應(yīng)用領(lǐng)域(如導(dǎo)航系統(tǒng)),小誤差可能在運算中累加,產(chǎn)生嚴重后果。5.1.4二進制小數(shù)編碼4、浮點數(shù)運算的精度十進制數(shù)轉(zhuǎn)換為二進制數(shù)時,需要的二進制數(shù)位數(shù)為:Log2(10)/Log2(2)=3.33(bit)如,將32位(包含小數(shù)點)十進制數(shù)轉(zhuǎn)換成二進制數(shù)時;總共需要:32×3.3=106位二進制數(shù)。IEEE754標準規(guī)定的浮點數(shù)規(guī)格如表5-4所示。浮點數(shù)規(guī)格總長(位)符號位S(位)階碼e(位)尾數(shù)M(位)尾數(shù)最大有效值單精度浮點數(shù)規(guī)格3218238388608雙精度浮點數(shù)規(guī)格64111524.5×1015擴展雙精度數(shù)規(guī)格180115641.8×1019擴展雙精度數(shù)規(guī)格21281151125.1×10335.1.4二進制小數(shù)編碼【擴展】二進制浮點數(shù)的存儲。26.0D=11010.0B=+1.10100*2401000001110100000000000000000000+127=131=10000011B單精度32位例:《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.1.3二進制整數(shù)編碼51.4二進制小數(shù)編碼5.1.5二進制補碼運算5.1.1常用數(shù)制的特征5.1.2不同數(shù)制的轉(zhuǎn)換5.1.5二進制補碼運算1、原碼在二進制數(shù)運算中存在的問題原碼運算的復(fù)雜性:做x+y運算時,要判別兩個數(shù)的符號,增加了運算時間。原碼會出現(xiàn):[00000000]2=[+0]10,[10000000]2=[-0]10的“正0負0”問題。符號位會對運算結(jié)果產(chǎn)生影響,導(dǎo)致運算出錯。【例5-31】[01000010]2+[01000001]2=[10000011]2(進位導(dǎo)致的錯誤)【例5-32】[00000010]2+[10000001]2=[10000011]2(符號位相加導(dǎo)致的錯誤)在只考慮數(shù)有效位的情況下,兩個互為補碼的數(shù)相加,結(jié)果有效位為0時,稱這兩個數(shù)互補。例如,10的補碼有:(1,9)、(2,8)、(3,7)、(4,6)、(5,5)。二進制數(shù)的補碼可以帶符號運算,而運算結(jié)果不會產(chǎn)生錯誤;計算機中的數(shù)值廣泛采用補碼的形式進行存儲和計算。5.1.5二進制補碼運算2、二進制數(shù)的反碼編碼方法引入反碼是補碼運算的需要。二進制正數(shù)的反碼與原碼相同;負數(shù)的反碼是對該數(shù)的原碼除符號位外各位取反。【例5-33】二進制數(shù)字長為8位時,[+5]10=[00000101]原=[00000101]反【例5-34】二進制數(shù)字長為8位時,[-5]10=[10000101]原=[11111010]反5.1.5二進制補碼運算3、二進制數(shù)的補碼編碼方法正數(shù)的補碼=原碼。負數(shù)的補碼=原碼取反+1。原碼、反碼和補碼,符號位都不變?!纠?-35】[10]10的原碼為:[10]10=[00001010]原[-10]10的原碼為:[-10]10=[10001010]原【例5-36】[10]10的反碼為:[10]10=[00001010]反[-10]10的反碼為:=[11110101]反【例5-37】[10]10的補碼為:[10]10=[00001010]補[-10]10的補碼為:[-10]10=[11110110]補5.1.5二進制補碼運算二進制數(shù)各種編碼的表示方法如表5-5所示。十進制數(shù)真值原碼反碼補碼0000000000000000000000000000100000001111111100000000+1+1000000010000000100000001-1-1100000011111111011111111+15+1111000011110111000001110001-15-1111100011111111000011110001-127-1111111111111111000000010000001-128-10000000——100000005.1.5二進制補碼運算4、補碼的運算規(guī)則補碼算法思想:把正數(shù)和負數(shù)都轉(zhuǎn)換為補碼形式,使減法變成加一個負數(shù)的形式,從而使正負數(shù)的加減運算轉(zhuǎn)換為單純的加法運算。補碼運算結(jié)論:補碼兩數(shù)加法運算時,結(jié)果仍為補碼。補碼的符號位可以與數(shù)值位一同參與運算。運算結(jié)果如有進位,判斷是否溢出;如果不是溢出,則將進位舍去不要。5.1.5二進制補碼運算不論對正數(shù)和負數(shù),補碼都具有以下性質(zhì):
[A]補+[B]補=[A+B]補
(5-3)
[[A]補]補=[A]原
(5-4)式中,A、B為正整數(shù)、負整數(shù)、0均可。小數(shù)的情況,在以后課程討論?!纠?-38】A=[-70]10,B=[-55]10,求A與B相加之和。(1)將A、B轉(zhuǎn)換為補碼;[-70]10=[-(64+4+2)]10=[11000110]原=[10111001]反+[00000001]=[10111010]補[-55]10=[-(32+16+4+2+1)]10=[10110111]原=[11001000]反+[00000001]=[11001001]補(2)進行補碼加法運算;
10111010
+11001001進位1自然丟失→1100000115.1.5二進制補碼運算(3)將運算結(jié)果(補碼)進行求補運算(取反加1),得到原碼。[10000011]補=[11111100]反+[00000001]=[11111101]原=[-125]10結(jié)論:補碼加法運算不用考慮數(shù)值正負,直接進行補碼加法即可。減法可以通過補碼的加法運算實現(xiàn)。如果運算結(jié)果最高位為0,表示結(jié)果為正數(shù);如果最高位為1,則結(jié)果為負數(shù)。《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.2.3統(tǒng)一字符編碼5.2.4聲音數(shù)字化處理5.2.5圖像數(shù)字化處理5.2.1英文字符編碼5.2.2漢字字符編碼5.2.1英文字符編碼1、BCDIC編碼早期計算機字符編碼從霍爾瑞斯(HermanHollerith)卡片發(fā)展而來;霍爾瑞斯卡片在1890年的美國人口普查中使用。6位字符編碼系統(tǒng)BCDIC(二進制與十進制交換編碼)源自Hollerith碼;1960年代逐步擴展為8位EBCDIC碼;IBM大型計算機采用EBCDIC碼標準。5.2.1英文字符編碼2、ASCII編碼(1)ASCII碼編碼規(guī)則ASCII(美國信息交換標準碼)碼用7位二進制數(shù)對1個字符進行編碼;ASCII可以表示27=128個字符編碼。計算機以1個字節(jié)存放1個ASCII碼字符;ASCII碼每個字節(jié)最高位為0;(2)ASCII碼應(yīng)用案例【例5-39】“Hello”的ASCII編碼。Hello01001000011001010110110001101100011011115.2.1英文字符編碼(1)ASCII碼編碼規(guī)則5.2.1英文字符編碼(3)ASCII碼編碼規(guī)律0~9字符碼高4位編碼為0011,低4位為0000~1001;去掉高4位時,低4位正好是0~9的二進制數(shù)。ASCII碼26個字母編碼是連續(xù)的;字母A~Z碼值為65~90;字母a~z碼值為97~122;大寫字母第6位值為0,小寫字母第6位值為1;它們之間的ASCII碼值十進制形式相差32;ASCII編碼定義了33個無法顯示的控制碼;ASCII控制碼目前極少使用。5.2.1英文字符編碼3、擴展ASCII碼(ANSI碼)ASCII碼不能滿足非英語國家的需要。如,無法表示英磅符號(£);如,無法顯示重音符號(é);如,無法顯示希臘語、希伯來語、阿拉伯語、俄語、漢語等。ASCII碼只用了7位,很多國家就使用128~255的碼字來表示其他符號。1981年P(guān)C機推出時,就固化了一個256個符號的字符集。當PC機在美國之外銷售時,這些擴展的ASCII碼就完全亂套了。5.2.1英文字符編碼ANSI(美國國家標準學(xué)會)標準結(jié)束了這種混亂。ANSI標準:低128個碼字采用標準ASCII編碼;高128個碼字根據(jù)語言不同,采用“碼頁”處理方式。如,IBM字符集碼頁為437;如,以色列碼頁是862;Windows國際版有很多這樣的碼頁,涵蓋了各種語言。5.2.1英文字符編碼【擴展】ANSI擴展ASCII碼。5.2.1英文字符編碼【擴展】字符集與編碼之間的關(guān)系。5.2.1英文字符編碼【擴展】莫爾斯電報碼(MorseCode)。5.2.1英文字符編碼【擴展】布萊葉盲文編碼(BrailleCode)。《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.2.3統(tǒng)一字符編碼5.2.4聲音數(shù)字化處理5.2.5圖像數(shù)字化處理5.2.1英文字符編碼5.2.2漢字字符編碼5.2.2漢字字符編碼1、雙字節(jié)字符集(DBCS)亞洲國家常用文字符號大約2萬多個。8位編碼不能滿足需要,解決方案是采用DBCS(雙字節(jié)字符集)編碼。DBCS用2個字節(jié)定義1個字符,當2個字節(jié)編碼值低于128時為ASCII碼,編碼值高于128時,為所在國家定義的編碼。【例5-41】漢字早期采用雙字節(jié)編碼,字節(jié)最高位為0表示標準ASCII碼;字節(jié)最高位為1時,用2個字節(jié)表示一個漢字。即有的字符用1個字節(jié)表示(如英文),有的字符用2個字節(jié)表示(如漢字)。5.2.2漢字字符編碼雙字節(jié)編碼換存在以下問題:(1)程序中處理字符串時,指針移動可能會導(dǎo)致錯誤;(2)字符串存儲時,需要計算字符串的長度;(3)丟失雙字節(jié)字符的高位字節(jié)后,會產(chǎn)生“亂碼”現(xiàn)象;(4)在存儲和傳輸中,是高字節(jié)在前,還是低字節(jié)在前?5.2.2漢字字符編碼2、漢字編碼(1)GB2312-80字符集漢字編碼1981年,《信息交換用漢字編碼字符集·基本集》(GB2312-80)標準頒布。GB2312-80標準規(guī)定:1個漢字用2個字節(jié)表示;每個字節(jié)只使用低7位,最高位為0;共收錄6763個簡體漢字、682個符號;一級漢字3755個,以拼音排序;二級漢字3008個,以偏旁排序?!纠?-42】“啊”字的國標碼為:001100000010000130H21H5.2.2漢字字符編碼【案例】GB2312-80字符集和區(qū)位碼、國標碼、內(nèi)碼。符號區(qū)一級字庫二級字庫編碼5.2.2漢字字符編碼(2)內(nèi)碼國標碼最高位為0,與ASCII碼無法區(qū)分;因此,早期計算機內(nèi)部,漢字編碼全部采用內(nèi)碼表示。早期內(nèi)碼是將國標碼兩個字節(jié)的最高位設(shè)定為1,保持中英文的兼容性?!纠?-43】“啊”字的內(nèi)碼為:操作系統(tǒng)內(nèi)部編碼,早期DOS系統(tǒng)采用ASCII碼;目前操作系統(tǒng)內(nèi)部基本都采用Unicode字符集編碼,字節(jié)高位0、1兼有。1011000010100001B0HA1H5.2.2漢字字符編碼(3)編碼轉(zhuǎn)換部分編程語言提供了編碼轉(zhuǎn)換函數(shù)。【例5-44】用PHP語言編碼轉(zhuǎn)換函數(shù),求字符串“中國”的GB2312-80內(nèi)碼。<?phpechourlencode("中國");
//輸出編碼為:%D6%D0%B9%FA,%為分隔符//?>(4)BIG5字符集漢字編碼臺灣、香港地區(qū)普遍使用BIG5繁體漢字編碼標準;BIG5包括440個符號,13060個漢字。5.2.2漢字字符編碼3、字形編碼ASCII、GB2312-80等解決了信息的存儲,傳輸,計算、處理等問題;字符的顯示和打印輸出時,需要另外對字形編碼。、通常,將所有字形編碼的集合稱為字庫。計算機中有幾十種中英文字庫。字形編碼有點陣字形和矢量字形兩種類型。漢字輸入鍵盤輸入漢字信息
(輸入碼)機內(nèi)碼字形碼顯示/打印輸出漢字輸出國標碼5.2.2漢字字符編碼(1)點陣字形編碼點陣字形是將每個字符分成16×16(或其他分辨率)的點陣圖像,然后用圖像點的有無(一般為黑白)表示字形的輪廓。缺點:不能放大,放大后字符邊緣會出現(xiàn)鋸齒現(xiàn)象。5.2.2漢字字符編碼(2)矢量字形編碼矢量字形保存每個字符的數(shù)學(xué)描述信息。如,筆劃的起始、終止坐標,半徑、弧度等。顯示和打印矢量字形時,要經(jīng)過一系列的運算才能輸出結(jié)果。矢量字形可以無限放大,筆劃輪廓仍然保持圓滑。Windows中絕大部分為矢量字形,只有很小的字符采用點陣字形。【例5-46】Windows中,矢量字符由數(shù)學(xué)方程和參數(shù)點組成。5.2.2漢字字符編碼【擴展】矢量字形。矢量字形=計算公式+字形參數(shù)計算公式:描述函數(shù)、直線方程、B樣條(Bezier曲線)擬合公式等字形參數(shù):基點、基線、錨點、控制點、寬度、角度、顏色等矢量字符顯示:查找字符取出參數(shù)計算字形顯示字符3次B樣條曲線2次B樣條曲線1次B樣條曲線5.2.2漢字字符編碼(3)TrueType矢量字形TrueType是Apple和Microsoft公司提出的字形技術(shù)。TT是用函數(shù)描述字體輪廓外形的指令集合。TT指令包括:字型構(gòu)造,顏色填充,描述函數(shù),條件控制,提示信息,控制指令等。TT采用二次B樣條曲線和直線方程描述字形外部輪廓。Windows矢量字庫保存在C:\Windows\fonts目錄下;如,文件擴展名為FON,表示是點陣字庫;如,文件擴展名為TTF,表示是矢量字庫。各種矢量字庫5.2.2漢字字符編碼Windows中矢量字形與點陣字形的顯示效果如圖5-28所示。《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.2.3統(tǒng)一字符編碼5.2.4聲音數(shù)字化處理5.2.5圖像數(shù)字化處理5.2.1英文字符編碼5.2.2漢字字符編碼5.2.3統(tǒng)一字符編碼1、國際通用字符集(1)Unicode(統(tǒng)一碼)字符集Unicode是一種國際通用字符編碼標準。Unicode目標:收錄世界上所有語言的文字和符號;對每個字符定義一個值(碼點);碼點可用2字節(jié)表示(UCS-2),也可用4字節(jié)表示(UCS-4)。Unicode字符名稱=代碼點值前面加上“U+”。如,字符“A”的名稱是“U+0041”。Unicode和UCS獲得了網(wǎng)絡(luò)、操作系統(tǒng)、編程語言等廣泛支持。如,WindowsNT/2000/XP/7/8、Linux等。5.2.3統(tǒng)一字符編碼【擴展】字符集編碼圖。5.2.3統(tǒng)一字符編碼(2)UCS-2(通用字符集)UCS-2是ISO(國際標準化組織)和Unicode共同定義的國際通用字符集。UCS-2代碼長度固定為2個字節(jié)(16位)。英文符號在ACSII碼前面加一個代碼點為0的字節(jié)。如,“A”的ASCII碼為41H,它的UCS-2代碼點為U+0041H。UCS-2優(yōu)點:亞洲字符的存儲空間比UTF-8編碼少;處理字符的速度比UTF-8編碼快,因為編碼長度是固定的;對Windows和Java的支持更好。Windows2000/XP/7/8在系統(tǒng)內(nèi)部使用UCS-2字符集,必要時轉(zhuǎn)換為ASCII碼。5.2.3統(tǒng)一字符編碼2、Unicode字符的存儲和傳輸問題(1)“大端”與“小端”字節(jié)序在《格列佛游記》中,小人國的內(nèi)戰(zhàn)源于吃雞蛋時是究竟從大端敲開還是從小端敲開,由此曾發(fā)生過六次叛亂,其中一個皇帝送了命,另一個丟了王位。5.2.3統(tǒng)一字符編碼字符編碼在存儲和傳輸中,同樣遇到了“大端”與“小端”的問題。如,“漢”字Unicode編碼是U+6C49,寫入文件時,將“6C”存儲在起始地址就是大端字節(jié)序(BE,起始地址存高位字節(jié));將“49”存儲在起始地址就是小端字節(jié)序(LE,起始地址存低位字節(jié))。x86計算機中,數(shù)據(jù)存儲和傳輸采用“小端”字節(jié)序;TCP/IP協(xié)議、Java語言、蘋果計
算機采用“大端”字節(jié)序。起始地址低位字節(jié)高位地址5.2.3統(tǒng)一字符編碼【擴展】網(wǎng)絡(luò)字節(jié)序。TCP/IP網(wǎng)絡(luò)協(xié)議中,所有二進制整數(shù)在網(wǎng)絡(luò)傳輸中采用“大端字節(jié)序”,因此又稱為“網(wǎng)絡(luò)字節(jié)序”?!纠?個字節(jié)的32bit值(0x12345678),在網(wǎng)絡(luò)中的傳輸次序是:首先0~7bit,其次8~15bit,然后16~23bit,最后24~31bit。這種傳輸次序稱為“網(wǎng)絡(luò)字節(jié)序”(大端字節(jié)序)。如果程序只在單機環(huán)境下運行,并且不和其他程序打交道,那么可以忽略字節(jié)序的存在。唯有在跨平臺以及網(wǎng)絡(luò)程序設(shè)計中,才考慮字節(jié)序問題。123456785.2.3統(tǒng)一字符編碼【例5-47】字符串“Hello”在Unicode編碼中;大端字節(jié)序是:U+0048U+0065U+006CU+006CU+006F小端字節(jié)序為:U+4800U+6500U+6C00U+6C00U+6F00小端字節(jié)序5.2.3統(tǒng)一字符編碼(2)UBOM存儲模式計算機在不清楚“大端”或“小端”的情況下,如何進行數(shù)據(jù)解析呢?解決辦法:在每個Unicode字符串的最前面;用“FEFF”表示大端字節(jié)序(BE);用“FFFE”表示小端字節(jié)序(LE);“FEFF”是不存在的字符編碼,不會出現(xiàn)編碼沖突問題。5.2.3統(tǒng)一字符編碼3、UTF-16編碼
(1)UTF-16編碼方法
UTF-16編碼的前身是UCS2編碼。UCS-2編碼固定2個字節(jié)表示一個字符,一共可表示216=65535個字符。Unicode4.0標準定義了一組附加字符編碼,附加字符用4個字節(jié)表示,Unicode4.0定義了45960個附加字符。UTF-16編碼=UCS-2字符集+附加字符UTF-16編碼可用2個字節(jié)表示,也可用4個字節(jié)表示。目前UTF-16的碼點范圍是:U+0000~U+10FFFF,大概有111萬編碼。UTF-16編碼主要用于Windows2000/XP/7/8操作系統(tǒng)。5.2.3統(tǒng)一字符編碼(2)UTF-16編碼案例例如,“中國”字符的各個版本UTF-16編碼如表5-8所示。編碼標準“中國”字符的編碼序列說明UTF-16BE4E2D56FD大端字節(jié)序編碼UTF-16LE2D4EFD56小端字節(jié)序編碼UTF-16(BOM,BE)FEFF4E2D56FD字節(jié)序標示符+大端編碼UTF-16(BOM,LE)FFFE2D4EFD56字節(jié)序標示符+小端編碼5.2.3統(tǒng)一字符編碼【擴展】字符的Unicode編碼。5.2.3統(tǒng)一字符編碼【擴展】Unicode編碼圖5.2.3統(tǒng)一字符編碼4、UTF-8編碼(1)UCS-2編碼對存儲空間的浪費UCS-2編碼需要在ACSII碼前加一個0字節(jié)碼;這樣,英文系統(tǒng)就會出現(xiàn)大量為0的字節(jié)。美國程序員無法忍受這種存儲空間翻倍;傳輸時間翻倍的浪費;這些程序員選擇忽略Unicode字符集,這讓事情變得更加糟糕。解決的方法是采用UTF-8編碼。容量與效率的矛盾:編碼時用幾個字節(jié)表示一個字符,用的字節(jié)越多,編碼空間越大,即容量越大。表示一個字符用的字節(jié)越多,存儲空間就越大,存儲或檢索的效率降低了。平衡這一對矛盾的方法是采用變長編碼方案,因此編碼也由簡單變得復(fù)雜了。5.2.3統(tǒng)一字符編碼【擴展】CAP理論及擴展。著名的布魯爾(Brewer)猜想指出:對于分布式系統(tǒng),數(shù)據(jù)一致性(Consistency)、系統(tǒng)可用性(Availability)、分區(qū)容錯性(Partitioning)三個目標(合稱CAP)不可能同時滿足,最多只能滿足其中兩個。CAP理論啟示:(1)事物的多個方面往往是相互制衡的。在復(fù)雜系統(tǒng)中,沖突是不可避免的。(2)凡事有代價,常常需要在各方面達成某種妥協(xié)與平衡。例如,分層會對性能有所損害,但不分層又會帶來系統(tǒng)過于復(fù)雜的問題。很多時候,結(jié)構(gòu)就是平衡的藝術(shù)。明白這一點,就不會為無法找到完美方案而苦惱。(3)復(fù)雜性是由需求所決定的。既要求容量大,又要求效率高,這種需求本身就不簡單,因此也無法簡單地解決。5.2.3統(tǒng)一字符編碼(2)UTF-8編碼方法UTF-8設(shè)計思想:
不修改那些沒有壞或不夠好的東西,只修改出問題的部分。UTF-8編碼方法:0~127之間的碼字使用1個字節(jié)存儲;超過128的碼字使用2~4個字節(jié)存儲。UTF-8編碼的長度是可變的。ASCII碼與UTF-8碼完全一致,解決了美國程序員的煩惱?!纠?-48】字符“中”的編碼。UTF-8碼占3個字節(jié),編碼為“E4B8AD”;UTF-16編碼為“4E2D”,2個字節(jié);GBK編碼為“D6D0”,2個字節(jié)。5.2.3統(tǒng)一字符編碼(3)UTF-8編碼的優(yōu)點對歐洲字符只要較少的存儲空間;兼容ASCII碼,容易從ASCII碼向UTF-8遷移;與字節(jié)順序無關(guān),可以在不同平臺之間交流;容錯能力高,不會產(chǎn)生連鎖錯誤(如亂碼)。類UNIX系統(tǒng)普遍采用UTF-8字符集;如,Linux系統(tǒng)默認的字符編碼是UTF-8;如,HTML和大多數(shù)瀏覽器也支持UTF-8。5.2.3統(tǒng)一字符編碼【擴展】各種不同語言文字中,字符“你好”的編碼。語言文種編碼標準字符集大小文字樣例簡體中文GB2312-806763你好、中國漢語繁體中文BIG-513053你好、中國漢語藏文Unicode592(扎西德勒)日文SJIS6524こんにちは(空寧尼其哇)韓文KSC56017238?????(啊寧哈塞優(yōu))英文ASCII128Howareyou俄文Windows1251256Привет(的比哦捏特)阿拉伯文Unicode193???????????(埃瑟蘭姆-啊累依庫姆)《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.2.3統(tǒng)一字符編碼5.2.4聲音數(shù)字化處理5.2.5圖像數(shù)字化處理5.2.1英文字符編碼5.2.2漢字字符編碼5.2.4聲音數(shù)字化處理聲音、圖形、視頻等信息,需要轉(zhuǎn)換成二進制數(shù)后計算機才能存儲和處理。將模擬信號轉(zhuǎn)換成二進制數(shù)的過程稱為數(shù)字化處理。1、聲音的數(shù)字化過程自然聲音是連續(xù)變化的模擬量。如,對著話筒講話時,話筒根據(jù)周圍空氣壓力的變化,輸出連續(xù)變化的電壓值。模擬音頻信號地數(shù)字化過程如圖5-30所示。5.2.4聲音數(shù)字化處理【擴展】故障聲音的頻率。次聲波人耳可聽域超聲波<20Hz20~20,000Hz>20,000Hz女性語音150Hz~9,000Hz電話語音200Hz~3,400Hz調(diào)幅廣播(AM)50Hz~7,000Hz調(diào)頻廣播(FM)20Hz~15,000Hz高級音響10Hz~40,000Hz男性語音100Hz~8,000Hz聲源種類頻帶寬度5.2.4聲音數(shù)字化處理(1)采樣模擬信號轉(zhuǎn)換成數(shù)字信號必須經(jīng)過采樣過程。采樣:在固定時間間隔內(nèi),對模擬音頻信號截取振幅值。單位時間內(nèi)采樣次數(shù)(采樣頻率)越多,數(shù)字信號就越接近原聲。奈奎斯特采樣定理:
采樣頻率達到信號最高頻率的2倍時,可以無失真地恢復(fù)原信號。人耳聽力范圍在20Hz~20kHz之間。采樣頻率達到:20kHz×2=40kHz,就可以滿足采樣要求。目前聲卡采樣頻率達到了44.1kHz或更高。5.2.4聲音數(shù)字化處理【案例】音頻信號的采樣與量化處理。采樣頻率5.2.4聲音數(shù)字化處理(2)量化量化:將信號連續(xù)取值為有限多個離散值。量化精度一般用二進制數(shù)衡量。如聲卡量化位數(shù)為16位,有216=65535種量化等級。聲卡大多為24位或32位量化精度。(3)編碼將采集的原始數(shù)據(jù),按文件類型(如WAV、MP3等)編碼;再加上音頻文件的頭部,就得到了一個數(shù)字音頻文件。編碼工作由聲卡和音頻處理軟件(如AdobeAudition)共同完成。5.2.4聲音數(shù)字化處理【擴展】模擬電視信號的數(shù)字化。5.2.4聲音數(shù)字化處理2、聲音信號的輸入與輸出數(shù)字音頻信號可通過網(wǎng)絡(luò)、光盤、數(shù)字話筒、MIDI接口等輸入計算機。模擬音頻信號輸入計算機后,由聲卡轉(zhuǎn)換為數(shù)字信號;這一過程稱為“模/數(shù)轉(zhuǎn)換”(A/D)。播放音頻
播放軟件
音頻解壓縮
音頻芯片
,
模擬音頻信號這一過程稱為“數(shù)/模轉(zhuǎn)換”(D/A)。5.2.4聲音數(shù)字化處理【擴展】個人音樂工作站。5.2.4聲音數(shù)字化處理【擴展】個人音樂工作室組成。《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.2.3統(tǒng)一字符編碼5.2.4聲音數(shù)字化處理5.2.5圖像數(shù)字化處理5.2.1英文字符編碼5.2.2漢字字符編碼5.2.5圖像數(shù)字化處理1、圖像的數(shù)字化數(shù)字圖像(Image)可由數(shù)碼相機、數(shù)碼攝像機、掃描儀等設(shè)備獲取。數(shù)字圖像也可以直接在計算機中自動或人工設(shè)計生成。5.2.5圖像數(shù)字化處理2、圖像的編碼(1)二值圖編碼二值圖:只有黑、白兩色的圖。圖像離散化:設(shè)置取樣分辨率(采樣);對圖像中每個像素用1位二進數(shù)表示。圖像分辨率(采樣精度)指單位長度內(nèi)包含像素點的數(shù)量;分辨率單位:dpi(點/英寸)等。圖像分辨率越高,圖像質(zhì)量越好,文件占用存儲空間越大。5.2.5圖像數(shù)字化處理【擴展】圖像像素與尺寸5.2.5圖像數(shù)字化處理(2)灰度圖像的編碼灰度圖將白色與黑色之間的過度灰色按對數(shù)關(guān)系分為若干亮度等級。一般亮度分為0~255個等級(量化精度);人眼對圖像亮度的識別小于64個等級。圖像中每個像素點的亮度值用1個字節(jié)表示。5.2.5圖像數(shù)字化處理(3)彩色圖像的編碼顯示器的任何色彩都可以用紅綠藍(RGB)三個基色按不同比例混合得到。5.2.5圖像數(shù)字化處理圖像中每個像素點用3個字節(jié)進行編碼。每個顏色用1個字節(jié)表示,亮度范圍為0~255個等級。一個像素點的色彩范圍為:224=1670萬種色彩。像素點用多少位二進制數(shù)表示,稱為色彩深度(量化精度)。5.2.5圖像數(shù)字化處理【案例】彩色圖像的RGB模式。RGB彩色圖像R
G
BRG
BR數(shù)組—8bit表示(256級色階)G數(shù)組—8bit表示(256級色階)B數(shù)組—8bit表示(256級色階)最大色彩數(shù):28×28×28=224=16777216(16.7M)5.2.5圖像數(shù)字化處理3、點陣圖像的特點點陣圖像由多個像素點組成。點陣圖像放大時,像素點會使線條和形狀顯得參差不齊。5.2.5圖像數(shù)字化處理4、矢量圖形的編碼矢量圖形(Graphic)用直線或曲線描述圖形。矢量圖形采用特征點和計算公式對圖形進行表示和存儲。顯示或打印矢量圖形時,要經(jīng)過一系列的數(shù)學(xué)運算才能輸出圖形。矢量圖形的的優(yōu)點是無論進行放大、縮小或旋轉(zhuǎn)等操作,圖形都不會失真。矢量圖形可以只修改其中某一個物體,而不會影響圖中其他物體。5.2.5圖像數(shù)字化處理【擴展】圖形的點陣表達和矢量表達形式。5.2.5圖像數(shù)字化處理【案例】矢量圖形和點陣圖形放大時的對比。5.2.5圖像數(shù)字化處理矢量圖形缺點:難以表現(xiàn)色彩層次豐富的圖像效果;無法使用廉價設(shè)備將圖形輸入到計算機中并矢量化;目前沒有統(tǒng)一的標準格式;在不同軟件中進行交換困難。主要應(yīng)用:線框型圖片,工程制圖,二維動畫設(shè)計,三維物體造型等。矢量圖形軟件:如,Visio、AutoCAD、FlashCS、3DMAX等。矢量圖形可以轉(zhuǎn)換為點陣圖像;點陣圖像轉(zhuǎn)換為矢量圖形時效果很差。5.2.5圖像數(shù)字化處理【案例】分形矢量圖形。5.2.5圖像數(shù)字化處理【案例】Visio矢量圖形。5.2.5圖像數(shù)字化處理【案例】AutoCAD矢量圖形。5.2.5圖像數(shù)字化處理【案例】3DMAX矢量圖形?!队嬎銠C導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.3.3邏輯命題演算5.3.4邏輯運算應(yīng)用5.3.1基本邏輯運算5.3.2數(shù)理邏輯命題5.3.1基本邏輯運算1、邏輯運算的特點邏輯變量和邏輯值只有“0”和“1”;它們不表示數(shù)值的大小,只表示事物的性質(zhì)或狀態(tài)。如,命題判斷中的“真”與“假”;如,程序流程圖中的“是”與“否”‘如,數(shù)字電路中的“低電平”與“高電平”等。基本邏輯運算:與運算(AND)或運算(OR)非運算(NOT)通過基本邏輯運算,可組合出任何其他邏輯關(guān)系。5.3.1基本邏輯運算2、與運算(AND)與運算是邏輯乘法運算;邏輯表達式:Y=A?B運算規(guī)律:全1為1,否則為0(真真得真)?!纠?-52】10011100AND00111001=00011000
10011100×00111001
000110005.3.1基本邏輯運算邏輯運算規(guī)則:(1)逐位按規(guī)則運算;(2)不同位之間沒有任何關(guān)系,不存在進位或借位;(3)不存在溢出問題;(4)沒有符號問題,邏輯值以原碼形式表示和存儲。布爾代數(shù)特別適合邏輯電路設(shè)計。5.3.1基本邏輯運算3、或運算(OR)或運算是邏輯加法運算;邏輯表達式:Y=A+B運算規(guī)律:全0為0,否則為1(假假得假)。【例5-53】10011100OR00111001=10111101
10011100+00111001
101111015.3.1基本邏輯運算4、非運算(NOT)非運算是邏輯取反運算;邏輯表達式:
運算規(guī)律:邏輯值取反?!纠?-54】NOT(10011100)=01100011
┐10011100
011000115.3.1基本邏輯運算5、異或運算(XOR)異或運算用符號“⊕”表示;運算規(guī)則:相同為0,相異為1(同假異真)?!队嬎銠C導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.3.3邏輯命題演算5.3.4邏輯運算應(yīng)用5.3.1基本邏輯運算5.3.2數(shù)理邏輯命題5.3.2數(shù)理邏輯命題1、數(shù)理邏輯的發(fā)展數(shù)理邏輯研究內(nèi)容:古典數(shù)理邏輯(命題邏輯,謂詞邏輯);現(xiàn)代數(shù)理邏輯(公理集合論、證明論、模型論、遞歸論等)。數(shù)理邏輯是現(xiàn)代計算機技術(shù)的基礎(chǔ)理論??吕?霍華德同構(gòu)理論:對一個函數(shù)計算結(jié)果的斷言可類比于一個邏輯定理,計算這個值的程序可類比于這個定理的證明??吕?霍華德同構(gòu)經(jīng)常表述為“證明即程序”。5.3.2數(shù)理邏輯命題2、數(shù)理邏輯中的命題推理過程必須依靠命題表達;命題是能判斷真假的陳述句。命題的結(jié)論:為真或為假?!纠?-55】下列陳述句都是命題。8小于10。8大于10。一個自然數(shù)不是合數(shù)就是素數(shù)。明年10月1日是晴天。公元1100年元旦下雨。/*命題真值為真*//*假命題也是命題,是真值為假的命題*//*命題真值為假,1不是合數(shù)和素數(shù)*//*真值目前不知道,但真值是確定的*//*可能無法查明真值,但真值是確定的*/5.3.2數(shù)理邏輯命題【例5-56】下列句子不是命題。8大于10嗎?天空多漂亮!禁止喧嘩。X>Y。X=Y+5。我在說謊。/*疑問句不是命題*//*感嘆句不是命題*//*命令句不是命題*//*命題真值不能確定*//*方程不是命題*//*悖論不是命題*/《計算機導(dǎo)論——計算思維和應(yīng)用技術(shù)》計算機第5章
信息編碼5.1數(shù)值信息編碼5.2字符信息編碼5.3邏輯運算與應(yīng)用5.4壓縮與糾錯編碼5.3.3邏輯命題演算5.3.4邏輯運算應(yīng)用5.3.1基本邏輯運算5.3.2數(shù)理邏輯命題5.3.3邏輯命題演算1、邏輯聯(lián)結(jié)詞命題演算是通過邏輯聯(lián)結(jié)詞,構(gòu)成更復(fù)雜的命題。邏輯連接詞類似運算符號;通過邏輯聯(lián)結(jié)詞,可以由簡單命題組成復(fù)合命題。命題用符號表示稱為命題符號化。5.3.3邏輯命題演算邏輯聯(lián)結(jié)詞與含義邏輯聯(lián)結(jié)詞表示命題的推理規(guī)則聯(lián)結(jié)詞說明命題案例命題讀法命題含義┐非┐P非PP的否定(邏輯取反)∧與P∧QP并且QP和Q的合?。ㄟ壿嫵耍呕騊∨QP或者QP和Q的析?。ㄟ壿嫾樱┤绻?,則…..PQ若P則QP蘊含Q(單向條件)當且僅當PQP當且僅當QP等價Q(雙向條件)命題的前件與后件不同邏輯命題運算的真值PQP∧QP∨QPQPQ0000110101101001001111115.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糖尿病藥物聯(lián)合用藥
- 確保安全駕駛常規(guī)的關(guān)鍵要點
- 徐濤課件教學(xué)課件
- 3.1.1亞鐵鹽和鐵鹽課件高一上學(xué)期化學(xué)魯科版(2019)必修第一冊
- DB1304T 481-2024芝麻輕簡化栽培技術(shù)規(guī)程
- 初中七年級家長會教案
- 級中 國美食說課稿
- 壺口瀑布說課稿
- 海洋與生命說課稿
- 格林巴利綜合征治療指南
- 人教版九年級數(shù)學(xué)下冊 《圖形的相似》相似教學(xué)課件
- 人員支援工作申請單
- 國家開放大學(xué)實驗學(xué)院生活中的法律形考任務(wù)(一)-形考任務(wù)(一)答案
- 幼兒園教師師德師風考核表
- 2022年江蘇省南京市棲霞區(qū)南外仙林分校小學(xué)部六上期中數(shù)學(xué)試卷
- 渠道下沉不能為了下沉而下沉
- 崇明三島現(xiàn)代農(nóng)業(yè)總體0810附件一基礎(chǔ)匯編
- 定2墻上貼著字
- 幾種離子交換裝置
- 交接班制度(PPT31頁)
- 真想變成大大的荷葉(詳案)
評論
0/150
提交評論