怎么将16位二进制数转换成BCD码的汇编语言程序

怎么将16位二进制数转换成BCD码的汇编语言程序,第1张

1、首先左移要转换的二进制码1位;  左移之后,BCD码分别置于百位、十位、个位;  如果移位后所在的BCD码列大于或等于5,则对该值加3;继续左移的过程直至全部移位完成,并检查每一列对应的bcd码是否

2、接着看信号列表。

3、然后二进制代码设计。

4、十进制代码。

5、十六进制,最后就完成了。

注意事项:

BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。

//十进制转换为二、八、十六进制 -- 递归算法

#include<stdioh>

void showbit(int n) //十进制转换为二进制

{

if(n>1){

showbit(n/2);

}

printf("%d",n%2);

}

void showoct(int n) //十进制转换为八进制

{

if(n>7){

showoct(n/8);

printf(" ");

}

printf("%d",n%8);

}

void showhex(int n) //十进制转换为十六进制

{

if(n>15){

showhex(n/16);

}

if(n%16>=10) //当余数大于10时以字母形式输出

{

switch(n%16)

{

case 10:printf("A");break;

case 11:printf("B");break;

case 12:printf("C");break;

case 13:printf("D");break;

case 14:printf("E");break;

case 15:printf("F");break;

}

}

else

printf("%d",n%16);

}

int main()

{

int a;

printf("input a num:");

scanf("%d",&a);

showbit(a);

printf("\n");

showoct(a);

printf("\n");

showhex(a);

printf("\n");

}

将楼上代码完善了一下!

这个可以借鉴联想一键恢复的做法。如果是系统启动,那就使用bcdboot设置,bcdboot c:\windows /l zh-cn

如果是固件程序启动项,是这么设置的,首先将\Device\HarddiskVolume2这个分区格式为FAT32分区,复制文件到这个分区,然后设置启动项,在diskpart中选中分区,设置id,就是set id={b90564f0-2cad-11e3-be71-3c970ef4a229},这样efi就可以寻找到这个标识符启动这个分区。

以上就是关于怎么将16位二进制数转换成BCD码的汇编语言程序全部的内容,包括:怎么将16位二进制数转换成BCD码的汇编语言程序、c语言bcd进制转码程序问题、如何在BCD文件中创建“固件应用程序(101fffff)”对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9660813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存