如何編寫(xiě)把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII
在如何編寫(xiě)把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII的程序之前,應(yīng)先知道十進(jìn)制數(shù)與之對(duì)應(yīng)ASIIC碼的數(shù)學(xué)關(guān)系及將它們存放存儲(chǔ)器的數(shù)制表示形式:
1、每一位十進(jìn)制數(shù)其值為0~9,其二進(jìn)制值為:0000~1001,放在字節(jié)存儲(chǔ)器將占用4個(gè)二進(jìn)制數(shù)的位。一個(gè)字節(jié)內(nèi)含8個(gè)二進(jìn)制數(shù)的位,故一個(gè)字節(jié)可表示2位十進(jìn)制數(shù)。這種用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)的數(shù)制叫BCD碼。
2、每一位十進(jìn)制數(shù)“X”轉(zhuǎn)換為ASIIC碼的原則為:30+X 如 X=4,其對(duì)應(yīng)ASIIC碼=34,將其放入一字節(jié)存儲(chǔ)器里用二進(jìn)制數(shù)表示:0011_0100,用16進(jìn)制數(shù)表示:16#34
3、如被轉(zhuǎn)換的十進(jìn)制數(shù)最大為4位數(shù),用BCD碼表示可占一個(gè)字存儲(chǔ)器空間,設(shè)為字存儲(chǔ)器為MW10,MW10含2個(gè)字節(jié),高字節(jié)為MB10,低字節(jié)為MB11。MB10的高4位為十進(jìn)制數(shù)的千位數(shù)值,MB10的低4位為十進(jìn)制數(shù)的百位數(shù)值。MB11的高4位為十進(jìn)制數(shù)的十位數(shù)值,MB11的低4位為十進(jìn)制數(shù)的個(gè)位數(shù)值。如將此4位十進(jìn)制數(shù)轉(zhuǎn)換為ASIIC碼,需占用一個(gè)雙字存儲(chǔ)器空間,如VD10,它含有4個(gè)字節(jié),每個(gè)字節(jié)代表一位ASIIC碼,其每個(gè)字節(jié)的高4位數(shù)值皆=0011(3),低4位數(shù)為十進(jìn)制數(shù)對(duì)應(yīng)的數(shù)值,如十進(jìn)制數(shù)1234,放入字存儲(chǔ)器MW10里。其內(nèi)容=0001_0010_0011_0100,用16進(jìn)制數(shù)表示為:16#1234,轉(zhuǎn)換為ASIIC碼值放入VD10里,其內(nèi)容=0011_0001_0011_0010_0011_0011_0011_0100,用16進(jìn)制數(shù)表示:16# 31 32 33 34。
了解上述3點(diǎn),就可以很容易編出把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII的程序:
設(shè)MW10為4位十進(jìn)制數(shù)存儲(chǔ)區(qū)(存數(shù)形式為BCD碼),VD10為轉(zhuǎn)換為ASIIC碼D的存數(shù)區(qū)。編程可以這樣處理:
1、將16#30303030送入VD10.
2、將MB10右移4位送入MB8,再將MB8或入VB10。
3、將MB10與16#0F相與,送入MB8,再將MB8或入VB11。
4、將MB11右移4位送入MB8,再將MB8或入VB12。
5、將MB11與16#0F相與,送入MB8,再將MB8或入VB13。
1、每一位十進(jìn)制數(shù)其值為0~9,其二進(jìn)制值為:0000~1001,放在字節(jié)存儲(chǔ)器將占用4個(gè)二進(jìn)制數(shù)的位。一個(gè)字節(jié)內(nèi)含8個(gè)二進(jìn)制數(shù)的位,故一個(gè)字節(jié)可表示2位十進(jìn)制數(shù)。這種用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)的數(shù)制叫BCD碼。
2、每一位十進(jìn)制數(shù)“X”轉(zhuǎn)換為ASIIC碼的原則為:30+X 如 X=4,其對(duì)應(yīng)ASIIC碼=34,將其放入一字節(jié)存儲(chǔ)器里用二進(jìn)制數(shù)表示:0011_0100,用16進(jìn)制數(shù)表示:16#34
3、如被轉(zhuǎn)換的十進(jìn)制數(shù)最大為4位數(shù),用BCD碼表示可占一個(gè)字存儲(chǔ)器空間,設(shè)為字存儲(chǔ)器為MW10,MW10含2個(gè)字節(jié),高字節(jié)為MB10,低字節(jié)為MB11。MB10的高4位為十進(jìn)制數(shù)的千位數(shù)值,MB10的低4位為十進(jìn)制數(shù)的百位數(shù)值。MB11的高4位為十進(jìn)制數(shù)的十位數(shù)值,MB11的低4位為十進(jìn)制數(shù)的個(gè)位數(shù)值。如將此4位十進(jìn)制數(shù)轉(zhuǎn)換為ASIIC碼,需占用一個(gè)雙字存儲(chǔ)器空間,如VD10,它含有4個(gè)字節(jié),每個(gè)字節(jié)代表一位ASIIC碼,其每個(gè)字節(jié)的高4位數(shù)值皆=0011(3),低4位數(shù)為十進(jìn)制數(shù)對(duì)應(yīng)的數(shù)值,如十進(jìn)制數(shù)1234,放入字存儲(chǔ)器MW10里。其內(nèi)容=0001_0010_0011_0100,用16進(jìn)制數(shù)表示為:16#1234,轉(zhuǎn)換為ASIIC碼值放入VD10里,其內(nèi)容=0011_0001_0011_0010_0011_0011_0011_0100,用16進(jìn)制數(shù)表示:16# 31 32 33 34。
了解上述3點(diǎn),就可以很容易編出把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII的程序:
設(shè)MW10為4位十進(jìn)制數(shù)存儲(chǔ)區(qū)(存數(shù)形式為BCD碼),VD10為轉(zhuǎn)換為ASIIC碼D的存數(shù)區(qū)。編程可以這樣處理:
1、將16#30303030送入VD10.
2、將MB10右移4位送入MB8,再將MB8或入VB10。
3、將MB10與16#0F相與,送入MB8,再將MB8或入VB11。
4、將MB11右移4位送入MB8,再將MB8或入VB12。
5、將MB11與16#0F相與,送入MB8,再將MB8或入VB13。
本文標(biāo)簽:如何編寫(xiě)把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《如何編寫(xiě)把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“如何編寫(xiě)把十進(jìn)制數(shù)轉(zhuǎn)化成ASCII”的更多資訊










