彙編 大數加法 or 高精度加法

2021-08-20 10:01:38 字數 1306 閱讀 1911

部落格目錄

開發環境 emu8086 v3.05

可變長度,以乙個十進位制位佔乙個位元組。

#make_com#

; com file is loaded at cs:0100h

org 100h

jmp start

sta db 200 dump(?)

sum db 6 dump(?)

coa db 9,2,5,6,2 ;;datas

cob db 3,4,9,4,1

; 1 2 7 5 0 3

sps dw ?

start:

mov sps,sp

mov sp,offset sta

add sp,20

mov ax,5 ;傳參

call addf ; 呼叫大數加法

mov ax,di[bx]

;--------------------show

mov bx,offset sum

mov ah,02h ;傳參int21h

mov cx,5 ;顯示計數器

mov dl,[bx] ;分類討論第一位,是否為0

inc bx ;

cmp dl,0

je lp1 ;第一位是0的話就不顯示,直接開始迴圈

add dl,'0'

int 21h

lp1:

mov dl,[bx]

add dl,'0'

inc bx

int 21h

loop lp1

mov sp,sps;整個程式的結束

ret ;---------end show

addf: ;ax儲存位數 函式————————————————————————proc 大數

add si,ax

add di,ax

mov cx,ax

dec si

mov bl,0

lp: mov dl,coa[si]

mov al,cob[si]

add dl,al

add dl,bl

mov bl,0 ;bl為進製

cmp dl,10

jb s

mov bl,1

sub dl,10

s: mov sum[di],dl

dec si

dec di

loop lp

mov sum[di],0

add sum[di],bl

ret ;———————

高精度 大數加法

1.p1601 a b problem 高精 題目描述 高精度加法,相當於a b problem,不用考慮負數.輸入格式 分兩行輸入。a,b a,b 10 500 輸出格式 輸出只有一行,代表a b的值 輸入輸出樣例 輸入1001 9099輸出 10100分析 include include inc...

python高精度加法 高精度加法

1.思路 其實就是模擬,加法是最簡單的,從個位開始加,價位加到前一位,然後再取10的餘數。for int i 1 i len i 計算和 c i a i b i 進製 c i 1 c i 10 取10的餘數 c i 10 2.實現 int len max a.length b.length 倒著存,...

高精度加法 大數相加

問題描述 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。演算法描述 由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。定義乙個陣列a,a 0 用於儲存a的個位,a 1 用於儲存a的十位,依此類推。同樣可以用乙個陣列b來儲存b。計算c ...