完成下列数制的转换: 10100111.101B=()D=()H=()BCD

题目

完成下列数制的转换: 10100111.101B=()D=()H=()BCD

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列哪种有关数制转换的说法不正确?()

A、任意两种进位计数制之间都可以转换

B、数制转换中,基数乘除法常用于整数部分的转换

C、直接转换法常用于基数为2的k次方(k是正整数)的进位计数制之间的转

D、多项式替代法常用于其他进制数转换为十进制数


参考答案:B

第2题:

完成下列各进制数之间的转换: (1)将十进制数548.375D转化成二进制、八进制、十六进制和BCD数;  (2)将十六进制数D.58H转换成为上述其他进制。


正确答案: (1)
(548.375)D =(1000100100.011)B =(1044.3)Q =(224.6)H
=(010*********.001101110101)BCD
(2)
(D.58)H=(1101.01011)B=(15.26)Q=(13.34475)D=(13.34375H)BCD

第3题:

设一个十进制整数为D>1,转换成十六进制数为H。根据数制的概念,下列叙述中正确的是______。

A) 数字H的位数≥数字D的位数

B) 数字H的位数≤数字D的位数

C) 数字H的位数<数字D的位数

D) 数字H的位数>数字D的位数

A.

B.

C.

D.


正确答案:C

第4题:

完成下列数制转换:(1000)10=(3E8)16=()。


正确答案: (001111101000)2

第5题:

数制转换:247.86=()H=()BCD。


正确答案:F7.DC;001001000111.10000110

第6题:

请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。

例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码)

转换后为 13H,58H,……(后面依次有8个压缩BCD码)

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果(要求从RESULT开始存入)由SAVE过程保存到OUTPUT. DAT中。请在BEGIN和END之间补充一段源程序,完成要求的功能。

原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由SAVE保存到OUTPUT1.DAT文件

对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。

部分程序如下:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 20

STAC SEGMENT STACK

DB 128 DUP(?)

STAC ENDS

DATA SEGMENT

SOURCE DB 31H,32H,33H,34H,35H,36H,37H,38H

RESULT DB N DUP(0)

NAME0 DB 'INPUT1.DAT', 0

NAME1 DB 'OUTPUT1.DAT', 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA DX,SOURCE ; 数据区起始地址

LEA SI,NAME0 ; 原始数据文件名

MOV CX,N ; 字节数

CALL LOAD ; 从 "INPUT1. DAT"中读取数据

**** BEGIN ****

**** END ****

LEA DX,RESULT ; 结果数据区首地址

LEA SI, NAME1 ; 结果文件名

MOV CX,N ; 结果字节数

CALL SAVE ; 保存结果到文件

RET

START ENDP

CODE ENDS

END START

相关知识:

●BCD码和压缩BCD码

BCD码就是以二进制数表示十进制数,以4位二进制数表示1位十进制数,0000~1001表示0~9,1010~1111六个状态无意义。非压缩BCD码以一个字节表示一位BCD码,压缩BCD码一个字节表示两位BCD码。

●ASCII码与压缩BCD码之间的转换

0~9的ASCH码为30H~39H,从数字的ASCII码求数字本身,只要用他的ASCII码减去30H即可。由两位非压缩BCD码构成一个字节的压缩BCD码可将高位的BCD码移到高四位,然后与低位的BCD码进行逻辑或(OR)操作即可完成。

编程思路:

第一步:分析本程序要求完成的功能。

本程序要求完成以下功能:

(1)从数据文件INPUT1.DAT中读取20个字节的ASCII码存放在SOURCE开始的内存单元中。

(2)将SOURCE开始的20个ASCII码求出其对应的数值,然后转换成压缩的BCD码,依次放在RESULT开始的内存单元中。

(3)将处理之后的字符串存入到OUTPUT1.DAT。

第二步:用相应汇编程序来实现其功能。

(1)数据的读取和存入题目中已经给出,只要完成20个ASCII码到压缩BCD的转换即可。

(2)由ASCII码到压缩BCD码的转换过程如下:

由于20位ASCII码正好转换成10个字节压缩BCD码,不存在某个字节的BCD码只有一位。因此依次从SOURCE开始的内存单元取两个ASCII码,前一个转换成压缩BCD码的高位,后一个转换成压缩BCD码的低位来构成压缩BCD码;每两个ASCII码转换成一个字节的压缩BCD码,直至转换完毕。


正确答案:LEA SISOURCE LEA DIRESULT MOV CXN/2 LO: MOV AL[SI] SUB AL30H ;将ASCII码转换成10进制数 INC SI MOV AH[SI] SUB AH30H ;将第二个数转换成10进制数 SHL AH1 SHL AH SHL AH1 SHL AH1 ;将第二个数移到高4位中 OR ALAH ;将两个BCD码压缩到一个字节中成为压缩 BCD码 MOV [DI]AL INC SI INC DI LOOP LO
LEA SI,SOURCE LEA DI,RESULT MOV CX,N/2 LO: MOV AL,[SI] SUB AL,30H ;将ASCII码转换成10进制数 INC SI MOV AH,[SI] SUB AH,30H ;将第二个数转换成10进制数 SHL AH,1 SHL AH, SHL AH,1 SHL AH,1 ;将第二个数移到高4位中 OR AL,AH ;将两个BCD码,压缩到一个字节中,成为压缩 BCD码 MOV [DI],AL INC SI INC DI LOOP LO

第7题:

在以3000H为首地址的外部RAM中,存放了14个以ASCII码表示的0~9的数,试编写程序将它们转换成BCD码,并以压缩BCD形式存放在以2000H为首地址的外部RAM中。


正确答案: 1  ORG 00H
0000  903000 2  MOV DPTR,#3000H ; 原始数据首地址
0003  7807      3  MOV R0,#07 ;   循环次数
0005  7930      4  MOV R1,#30H ;  转换结果暂存区指针
0007  E0        5 CH1: MOVX A,@DPTR
0008  550F      6  ANL A, #00001111B
000A  C4        7  SWAP A
000B  F5F0      8  MOV B,A
000D  A3        9  INC DPTR
000E  E0        10  MOVX A,@DPTR
000F  550F      11  ANL A, #00001111B
0011  45F0      12  ORL A,B
0013  F7        13  MOV @R1,A
0014  09        14  INC R1
0015  A3        15  INC DPTR
0016  D8EF      16  DJNZ R0,CH1
0018  902000    17  MOV DPTR,#2000H ;  转换结果存储区
001B  7A07      18  MOV R2,#07H ;  结果个数
001D  7930      19  MOV R1,#30H
001F  E7        20 CH2: MOV A,@R1 ;

第8题:

(8) 为了将AH和 AL 寄存器中分别存放的两个非组合(Unpacked)BCD码 06H 和07H转换为组合(Packed)BCD码67H 存放在AL寄存器中,应在下面的横线处填写什么内容?

MOV AX, 0607H

MOV CL, 4

SHL AH, CL

OR 【8】


正确答案:
【8】SPOOLing

第9题:

计算机中有哪些常用的数制和码制?如何进行数制之间的转换?


正确答案: 数值数据经常用二进制、十进制、八进制和十六进制;字符数据使用ASCII码;表示十进制数字用BCD码。
(1)十进制到二进制:整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”;
(2)二进制到十进制:将二进制数按权展开即可。
(3)二进制到八进制:将3位二进制一组对应1位八进制数码。
(4)八进制到二进制:将1位八进制数码对应3位二进制数码。
十六进制与二进制间转换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。

第10题:

将BCD码(10010110)BCD转换成十六进制数()。

  • A、32H
  • B、60H
  • C、66H
  • D、36H

正确答案:B