導航:首頁 > 源碼編譯 > 16進制怎麼轉成源碼

16進制怎麼轉成源碼

發布時間:2022-07-28 04:00:37

㈠ 八位十六進制轉二進制數的匯編源代碼

;-------------------------------------------------
;可轉換16位以內任意無符號數(1或8 或4 或n n<=16)
;或者修改data段 可轉換更多位
;Esc鍵退出 回車鍵後就開始轉換轉換
;-------------------------------------------------

data segment
assume ds:data
indata db 16 p(20h)
inputinfo db 'Please input one hex=<16 bits: $'
errorinfo db 'Input error, please repeat$'
resultinfo db 'The result is : $'
newlineinfo db 0dh, 0ah, '$'
data ends
;-------------------------------------------------
;-------------------------------------------------

code segment
assume cs:code

main proc far
mov ax,data
mov ds,ax
mov es,ax

call inputdata
call hextobin

mov ah,4ch
int 21h
main endp
;--------------------------------------
;--------------------------------------

hextobin proc near
mov ah,9
mov dx,offset resultinfo
int 21h

mov si,offset indata

next:
lodsb
mov bl,al ;先備份al,因後面sub*會改變al

cmp al,20h
jz exit

cmp al,3ah ;分號
jl sub1
cmp al,47h ;G
jl sub2
cmp al,67h ;g
jl sub3

sub1:
sub al,30h ;判斷0--9
jmp begin

sub2:
mov al,bl
sub al,37h ;判斷A--F
jmp begin

sub3:
mov al,bl
sub al,57h ;判斷a--f
jmp begin

begin:
mov cx,4 ;每4位二進制即可表示1位十六進制
mov ah,2 ;依次檢驗al中的低四位的0和1是循環的目的所在
mov bl,al
mov bh,8 ;8h=1000b

show:
mov dl,30h
and al,bh ;and xxxx,1000 可得 al=x000
jz tobin ;即保留了al中的最高位
mov dl,31h ;

tobin:
int 21h
mov al,bl ;恢復al
ror bh,1 ;1000b循環右移1位 變成0100b
loop show
mov ah,0
jmp next
exit:ret

hextobin endp
;---------------------------------------
;---------------------------------------

inputdata proc near

input:
mov ah,9
mov dx,offset inputinfo
int 21h

mov di,offset indata

inchar:
mov ah,1
int 21h
push ax

cmp al,1bh ;如果是Esc鍵,則退出
je quit
cmp al,0dh ;如果是回車,表示結束輸入,則跳去轉換
je hex

cmp al,67h ;三個條件區間
jnl showerr
cmp al,61h
jnl start
cmp al,47h
jnl showerr
cmp al,41h
jnl start
cmp al,3ah
jnl showerr
cmp al,30h
jnl start

start:
pop ax
mov ah,0
stosb
jmp inchar

quit:
mov ah,4ch
int 21h

hex: call newline
call hextobin
ret

showerr:
call newline
call newline
mov ah,9
mov dx,offset errorinfo
int 21h
call newline
call newline
jmp input

inputdata endp
;----------------------------------------
;----------------------------------------

newline proc near
mov dx,offset newlineinfo
mov ah,9
int 21h
ret
newline endp
;----------------------------------------
;----------------------------------------

code ends
end main

㈡ 如何將 十六進制轉換成文本

有專門的軟體好像叫做十六進制編輯器,電腦把十六進制轉文本的就是把十六進制數值轉成十進制(電腦自帶計算機可以),然後新建一個文本,按住ALT-數值,就是十六進制轉成十進制的5位數字,松來ALT就可以

㈢ C語言16進制如何才能轉換為10進制 不要給我源代碼函數我想知道原理。什麼計算公式的寫明白。

首先拋開你的10進制思維,再來看看如下內容。
不管是2進制,10進制,16進制,n進制,都是逢多少進1的數字規律。那麼n進制的時候,就必須有n個符號代表從0~n-1的數值。
比如2進制有2個符號:0、1
比如10進制有10個符號:0、1、2、3、4、5、6、7、8、9
比如16進制有16個符號:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f
從下邊開始,你看到的10不是十進制的10,你一定要拋開進制的思維,才能看懂!(當然有1個例外:就是說明幾進制的時候,是十進制的思維,不然你沒法看得懂!比如12進制,是十進制的情況下理解的12,並不是12進制下的12,因為12進制下的12,這個12是12+2=14,即十進制的14)
在n進制的情況下,個位數逢n進1,也就是從0變到10要0+n,
此時10表示已經累加了n,請想想要怎麼才能變為20?
沒錯,又得加一次n,也就是累加2*n才能變成20,繼續看:
那從10如何變成100呢?因為是n進制,所以,從「十」位數的0要再往前進1,必須是「十」位數要累加n次。
也就是上邊的10變到20,算1次。20變30相當於累加2次。加上00變10,算1次。所以從00變30相當於「十」位累加3次,因為上一段說了,「十」位0要往前進1,必須累加n次。
那你看看從個位數0要往前進1,也是要個位數累加n次。所以,個位數0要向「百」位進1,即0變為100,則是需要個位數累加n*n次才行的!深化解釋:因為個位數累加n變為10,而「十」位也是0累計n次才能變為100,即:n倍個n才能讓個位數從0變為100,即n*n=100,即「百」位是第3位數,所以從0變為100需要累加(n的3-1次方)。
同理:從0變到「1000」,是4位數,所以從0變到1000需要累加(n的4-1次方)。
同理:從0變到「1000……0」這里假設有88個0,即89位,那麼從0變到「1000……0」是需要累加(n的88次方)。如果這里是有m個0,從個位數0變為這個數,個位數必須累加累加(n的m次方)
注意:n是進制。
******************************
從下邊開始,講的都是16進制,(n進制同理,就不再講n進制了)
所以16進制代入上式,可以得到從0變到10000,是需要個位數累加16的4次方的。這里的16的4次方中的16是需要用十進制的思維去理解的(而不是16進制下的16,因為16進制下的16是16+6=22,即十進制的22等於16進制下的16。所以,這里的16的4次方中的16是實實在在的十進制的16,下同。其他還是16進制思想)。
上邊知道10000就是16的4次方。那麼20000,則是2*(16的4次方)。如果是80000就是8*(16的4次方),f0000就是f*(16的4次方)
同理:259fa4=200000+50000+9000+f00+a0+4
上式=2*(16的5次方)+5*(16的4次方)+9*(16的3次方)+f*(16的平方)+a*(16的1次方)+4
將上式轉10進制=2*(16的5次方)+5*(16的4次方)+9*(16的3次方)+15*(16的平方)+10*(16的1次方)+4
即=2*16*16*16*16*16+5*16*16*16*16+9*16*16*16+15*16*16+10*16+4
這就是16進制轉10進制的規律。
*********************
說明:如果你看不懂上邊的16進制轉10進制的話,你真不太適合C編程。那麼就建議你學java了,可能還能找到工作

㈣ 十六進制數的原碼補碼反碼怎麼表示

無論是十進制還是十六進制的數,在求補碼時,都先轉化為二進制,再進行補碼的轉換。

例如:

15的十六進制為F,轉化為二進制為00001111,再轉為反碼00001111,最後轉化為補碼00001111。

正整數的補碼是其二進製表示,與原碼相同。

(4)16進制怎麼轉成源碼擴展閱讀:

原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。

在計算機系統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。

補碼的特性:

1,一個負整數(或原碼)與其補數(或補碼)相加,和為模。

2,對一個整數的補碼再求補碼,等於該整數自身。

3,補碼的正零與負零表示方法相同。

參考資料來源:網路-補碼

㈤ 怎樣讓十六進制轉換成十進制,求易大神給源碼

你可以下一個進制轉換器

㈥ 十六進制如何轉換成二進制

與十六進制數BC等值的二進制數是10111100,應該選擇B項。

將十六進制數轉換為二進制數,只需將每一位的十六進制數轉換為相應的4位二進制數,然後組合起來即可。

二進制與十六進制之間的轉換:

1、二進制數轉換成十六進制數

由於2的4次方=16,所以依照二進制與八進制的轉換方法,將二進制數的每四位用一個十六進制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。

2、十六進制轉換成二進制數

如將十六進制數轉換成二進制數,只要將每一位十六進制數用四位相應的二進制數表示,即可完成轉換。

㈦ 求易語言十六進制互相轉換十進制源碼,高手進!

十六進制 是 滿16進一 電腦識別 主要是 1111 四個二進製表示一個 十六進制十六進制 包括 1~9 A~F================================十六進制和十進制可以互相換十六進制 一般採用 0x開頭 0x1表示 16進制1 表示10進制 1這是約定

㈧ 用數組實現16進制轉換為8進制源代碼(僅限C/C++)

#include <stdio.h>
#include <math.h>
#include <string.h>
void change(char s[],char a[]) //轉換函數
{
int sum = 0,i,j,len;
len = strlen(s);
for( i = len-1; i >= 0; i-- )
{
if(s[i] >= '0' && s[i] <= '9')
sum += (s[i]-'0')*pow(16,len-i-1);
else
sum += (s[i]-'A' + 10)*pow(16,len-i-1);
}
j = 0;
while(sum)
{
a[j++] = sum%8 + '0';
sum /= 8;
}
a[j] = '\0';
}
int main()
{
char s[100],a[100];
int i,j;
printf("請輸入一個16進制數:");
scanf("%s",s);
printf("該數的8進制為:");
change(s,a); // 進制轉換
j = strlen(a);
for( i = j -1; i >= 0; i-- )
printf("%c",a[i]);
printf("\n");
return 0;
}

㈨ 16進制的地址怎麼轉換成代碼

地址就是地址,只是代碼中的組成部分,不能夠單獨成為代碼。

㈩ lua中怎麼將16進制轉換成源文件 明文內容

看你的輸入端是什麼編碼,lua本身不提供任何編碼轉換功能utf-8 utf-32轉utf-16基本可以純lua實現(但考慮到蛋疼的utf-16擴展字元其實還是挺麻煩的)至於gb2312或者gbk之類的還是用第三方c庫吧,比如lua-iconv或者icu-lua都行……

閱讀全文

與16進制怎麼轉成源碼相關的資料

熱點內容
音樂噴泉軟體要什麼加密狗 瀏覽:491
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:981
演算法可以用圖表表示 瀏覽:948
山西太原php 瀏覽:273
常用cmd網路命令 瀏覽:676
hashmap7源碼分析 瀏覽:898
搜索引擎原理技術與系統pdf 瀏覽:361
運動估計演算法python 瀏覽:860
java正則1 瀏覽:538
redhatlinux最新 瀏覽:182
python字典編程詞彙 瀏覽:147
微信和伺服器如何通訊 瀏覽:13
百家號伺服器配置有什麼用 瀏覽:600
怎麼為電腦加密 瀏覽:59
伺服器出現差錯是什麼意思 瀏覽:619
蘋果app移到商店裡怎麼刪掉 瀏覽:257
phpjsphtml 瀏覽:66
吃雞手機國際服伺服器超時怎麼辦 瀏覽:69
努比亞Z5無命令 瀏覽:642