当前位置:首页 > 代码 > 正文

十六进制转二进制代码(二进制转十六进制进制)

admin 发布:2022-12-19 04:21 148


本篇文章给大家谈谈十六进制转二进制代码,以及二进制转十六进制进制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

16进制转化2进制的表

1、二进制转换为十六进制方法:

取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

(1)例:将二进制11101001.1011转换为十六进制

得到结果:将二进制11101001.1011转换为十六进制为E9.B

(2) 例:将101011.101转换为十六进制

得到结果:将二进制101011.101转换为十六进制为2B.A

2、将十六进制转换为二进制方法:

取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

(1)例:将十六进制6E.2转换为二进制数

得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001

附上十进制、二进制、十六进制转化的对照表。

扩展资料:

二进制与八进制之间的转换:

首先,我们需要了解一个数学关系,即2^3=8,2^4=16,而八进制和十六进制是用这个关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。

接着,记住4个数字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)。现在我们来练习二进制与八进制之间的转换。

1、二进制转换为八进制方法:

取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。

(1)例:将二进制数101110.101转换为八进制

得到结果:将101110.101转换为八进制为56.5

(2) 例:将二进制数1101.1转换为八进制

得到结果:将1101.1转换为八进制为15.4

2、将八进制转换为二进制

方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

(1)例:将八进制数67.54转换为二进制

将八进制数67.54转换为二进制数为110111.101100,即110111.1011

从上面这道题可以看出,计算八进制转换为二进制,首先,将八进制按照从左到右,每位展开为三位,小数点位置不变;然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a×22+ b×21 +c×20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数;接着,将每位上转换成二进制数按顺序排列;最后,就得到了八进制转换成二进制的数字。

参考资料:百度百科-进制转换

十六进制如何转换成二进制

与十六进制数BC等值的二进制数是10111100,应该选择B项。

将十六进制数转换为二进制数,只需将每一位的十六进制数转换为相应的4位二进制数,然后组合起来即可。

二进制与十六进制之间的转换:

1、二进制数转换成十六进制数

由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

2、十六进制转换成二进制数

如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。

十六进制转换成二进制

十六进制用符号H或者0x表示,十六进制转换二进制方法,每一位16进制代表四位二进制,如90H,9 二进制表示 1001, 0 二进制表示 0000,得二进制 1001,0000 。

十六进制怎么转二进制。

十六进制数转换为二进制数的步骤:每一位十六进制数,转换为四位二进制数。

例如:

3A7.B1H

=11 1010 0111.1011 0001 B

二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一组。

组分好以后,对照二进制与十六进制数的对应关系,将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是十六进制数哦。

注意16进制的表示法,用字母H后缀表示,比如BH就表示10进制数11;也可以用0X前缀表示,比如0X23就是16进制的23,十进制的35(2*16+3=35)。

这里需要注意的是,在向左(或向右)取四位时,取到最高位(最低位)如果无法凑足四位,就可以在小数点的最左边(或最右边)补0,进行换算。例如:

(1001101010.01101)2

=(0010 0110 1010.1110 1000)2

=26A.E8H

汇编程序 十六进制转成二进制的代码

;-------------------------------------------------

;可转换16位以内任意无符号数(1或8 或4 或n n=16)

;或者修改data段 可转换更多位

;Esc键退出 回车键后就开始转换转换

;-------------------------------------------------

data segment

assume ds:data

indata db 16 dup(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

关于十六进制转二进制代码和二进制转十六进制进制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/2306.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载