彙編實驗 十六進製制轉成十進位制以及十進位制轉十六進製制

2021-10-14 04:28:52 字數 2556 閱讀 6288

十六進製制轉成十進位制

datas segment

dbuf dw 3039h;

16進製制數3039h為10進製數12345

dval db 5 dup (?)

;存放轉換後的資料

dlen =$-dbuf

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov si,offset dbuf;源資料位址

mov dx,

[si]

mov si,offset dlen;目標資料位址

l1:dec si

mov ax,dx

mov dx,

0 mov cx,

10;除數10

div cx;商送ax,餘數送dx

xchg ax,dx

mov [si]

,al;存入目標位址

cmp dx,

0000h

jne l1;判斷轉換結束否,未結束則轉l1

l2:cmp si,offset dval;與目標位址的首址比較

jz l3;等於首位址則轉l3,否則將剩餘位址

dec si

mov al,

00h mov [si]

,al jmp l2

l3:

mov dx,

[si]

add dl,

48 mov ah,

2int

21h

mov dx,

[si+1]

add dl,

48 mov ah,

2int

21h

mov dx,

[si+2]

add dl,

48 mov ah,

2int

21h

mov dx,

[si+3]

add dl,

48 mov ah,

2int

21h

mov dx,

[si+4]

add dl,

48 mov ah,

2int

21h

mov ah,

4ch int 21h

codes ends

end start

十進位制轉十六進製制

datas segment

;此處輸入資料段**

nums db 3,2

,7,6

,7numo dw ?

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov bx,

10 mov cx,

0

again:

mov ah,

1int

21h

cmp al,

'0' jb over

cmp al,

'9' ja over

sub al,

48 mov ah,

0 push ax

mov ax,cx

imul bx

pop dx

add ax,dx

mov cx,ax

jmp again

over:

mov numo,cx

mov ax,cx

mov bx,ax

mov ch,

0

l0:cmp ch,

4 je over2

mov cl,

4 rol bx,cl

mov dx,bx

and dx,

0fh cmp dx,

10 jb l2

add dx,

55 mov ah,

2int

21h add ch,

1 jmp l0

l2:add dx,

48;是數字

mov ah,

2int

21h add ch,

1 jmp l0

over2:

mov ah,

4ch int 21h

codes ends

end start

十六進製制轉成十進位制

string s 7a int i integer.parseint s,16 long l long.parselong s,16 如果是十六進製制的字串要轉換為十進位制的字串,那也可以用上面的辦法,再接個tostring就行 string s 7a string s1 integer.tostr...

十進位制 十六進製制

把十進位制整數轉換為十六進製制,格式為0x開頭,10 15由大寫字母a f表示。input 每行乙個整數x,0 x 2 31。output 每行輸出對應的八位十六進製制整數,包括前導0。sample input 0 1023 sample output 0x00000000 0x000003ff 水...

十六進製制轉十進位制

create function fn hextobinary hex varchar 8 returns varchar 255 asbegin declare base tinyint declare string varchar 255 declare return varchar 255 de...