十六進製制轉成十進位制
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...