首先,delphi支援的bcd碼的資料型別名為tbcd,它的定義如下:
type
tbcd = packed record
precision: byte;
signspecialplaces: byte;
fraction: packed array [0..31] of byte;
end;
對bcd的支援是在fmtbcd單元中,所以要使用bcd函式,則需要引用此單元。
delphi的bcd函式有:
bcdadd procedure
計算兩個bcd碼的和
bcdcompare function
比較兩個bcd的大小
bcddivide procedure
bcd資料相除
bcdmultiply procedure
bcd資料相乘
bcdprecision function
返回bcd的資料個數。如bcd的123返回值為3,bcd值為9382時返回值為4。
bcdscale function
返回bcd碼的小數字數
bcdsubtract procedure
兩個bcd碼相減
bcdtocurr function
轉換bcd碼為current格式的資料型別
bcdtodouble function
bcd碼轉換為double格式的資料型別
bcdtointeger function
bcd碼轉換為integer格式的資料型別
bcdtostr function
bcd碼轉換為字串
bcdtostrf function
bcd碼轉換為帶格式控制的字串
currtobcd function
current資料型別轉換為bcd碼
doubletobcd function
double資料型別轉換為bcd碼
formatbcd function
格式化bcd碼為字串
integertobcd function
integer整數型別轉換為bcd碼
isbcdnegative function
判斷bcd是否為負數
normalizebcd function
將乙個bcd的值根據給定的精度和小數字數轉換為另外乙個bcd碼的值
nullbcd constant
判斷bcd是否為null
strtobcd function
字串轉換為bcd碼
trystrtobcd function
字串轉換為bcd碼,轉換失敗返回給定的預設值
BCD碼轉為相應的資料
例如將35h轉換為二進位制資料應得到 23h 即十進位制的 35datas segment 此處輸入資料段 buf db 35h,64h,89h res db?datas ends stacks segment 此處輸入堆疊段 stacks ends codes segment assume cs ...
BCD碼的加法和減法
bcd碼以四位二進位制數視作乙個十進位制位 例 bcd碼0011 0100 二進位制 34h 十六進製制 表示34 十進位制 bcd碼修正規則如下 1 若兩個8421碼數相加之和等於或小於1001,不需修正。2 若相加和在10 15之間,一方面應向高位產生進製,本身還要進行加6修正,進製是在加6修正...
關於BCD碼的編碼和解碼
1 bcd 碼 binary coded decimal 二到十進位制編碼 計算機內部多採用二進位制表示和處理數值資料,因此在計算機輸入和輸出資料時,就要進行進製的轉換處理。用 4位二進位制數來表示 1位十進位制數中的 0 9這 10個數碼,簡稱 bcd碼,即 bcd bcd碼編碼方法很多,通常採用...