十六进制转二进制代码(二进制转十六进制进制)
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站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接