当前位置:首页 » 编程语言 » bcdc语言

bcdc语言

发布时间: 2022-11-07 19:50:50

㈠ 利用c语言 将BCD码转成二进制输出的程序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineINPUT_BCD_MAX_LENGTH10
intmain(void)
{
//
charbcd[INPUT_BCD_MAX_LENGTH];
char*bin=NULL;
chart_bin[6];
inti,j,q,r,t,bcd_len,bin_len;
printf("Pleaseenterthedecimalcode:");
scanf("%s",bcd);

bcd_len=strlen(bcd);
bin_len=bcd_len*6+1;
bin=(char*)malloc(bin_len);
memset(bin,0,bcd_len*6+1);
for(i=0;i<bcd_len;i++)
{
/*把字符转换为数字*/
q=bcd[i]-'0';
//将每个十进制转换为四位二进制
for(j=0;j<4;j++)
{
t=q/2;
r=q%2;
q=t;
if(q==0&&r!=1)
{
t_bin[j]='0';
}
else
{
//把数字转换为字符
t_bin[j]=r+'0';
}
}
t_bin[j]='';
t_bin[j+1]='';
strrev(t_bin);
strcat(bin,t_bin);
}

printf("BCDcodeddecimal: %s ",bin);
free(bin);
bin=NULL;

system("pause");
return0;
}

㈡ c语言怎么将整形数转换成BCD码

看一下吧,我也是新手。我调试了,你看看,

#include <stdio.h>
void main()
{
int m,i;
int p[10];
printf("请输入一个整数m:");
scanf("%d",&m);
for(i=0;m!=0;i++)
{
p[i]=m%10;
m=m/10;
printf("%d ",p[i]);
}
printf("\n");
for(;i>=0;i--)
{switch (p[i])
{
case 0:printf("0000");break;
case 1: printf("0001");break;
case 2: printf("0010");break;
case 3: printf("0011");break;
case 4: printf("0100");break;
case 5: printf("0101");break;
case 6: printf("0110");break;
case 7: printf("0111");break;
case 8: printf("1000");break;
case 9: printf("1001");break;
default: ;
}
}
printf("\n");
}

㈢ C语言将八位无符号二进制数转换成BCD码

第一步,将8位无符号二进制整数除以100,得到两个结果:商和余数,这个商就是3位压缩bcd码的最高4位(截掉高4位,留下低4位二进制码);
第二步,将上面的余数除以10,又得到两个结果:商和余数,将商的低4位作为3位压缩bcd码的中间4位,余数的低4位作为3位bcd码的最低4位。

㈣ C语言中怎么把16进制转换成bcd码

void HextoBCD(u8 *pBuff,u8 len) //十六进制转为BCD码
{
u8 i,temp;
for(i=0;i<len;i++)
{
temp=pBuff[i]/10;
time[i]=pBuff[i]%10+temp*16;
}
}

㈤ 如何用c语言实现bcd码转十六进制数比如BCD码5(0101),怎么转成0x05

#include<stdio.h>
#include<string.h>
int main()
{
char a[20],b[5];
int i,result = 0,k = 1,j = 0;
printf("输入一个二进制数:\n");
gets(a);
for(i = strlen(a)-1;i >= 0;i --)
{
if(a[i] == '1') result += 1 << (k-1); //如果是1,用1*位权
if(k == 4 || i == 0) //每四位计算一次结果(result)。
//如果到了最高位(i==0)不足四位(比如100 0000),也计算
{
switch(result)
{
case 10: b[j++]='A';break; //大于等于十转化成字母
case 11: b[j++]='B';break;
case 12: b[j++]='C';break;
case 13: b[j++]='D';break;
case 14: b[j++]='E';break;
case 15: b[j++]='F';break;
default: b[j++]=result + '0';break;
}
result = 0; //结果清零
k = 0; //表示位权的K清零
}
k ++; // 初始位权为1
}
b[j] = '\0';
printf("结果是:\n");
for(i = strlen(b)-1;i >= 0;i --)
printf("%c",b[i]);
printf("\n");
return 0;
}

㈥ c语言 计算机 bcd码

(101001)BCD=29,
这是因为BCD编码是每4位二进制对应一位十进制数字,即10-->2,1001-->9

㈦ c语言bcd码转十进制

这道题是输入一个整数,然后转成二进制,二进制在转成BCD码

㈧ 求C语言高手解释

BCD是计算机表示十进制的方法,0~9分别对应0000~1001(8421码),0000~1001表示为十六进制就是0x0~0x9
十进制12表示为BCD为0001 0010(二进制),表示为十六进制就是0X12;
小明误以为这是二进制数,所以00010010(二进制)=18(十进制)。其实0001和0010应该是种编码,每四位表示一个数码。

㈨ BCD码分离程序怎样用C语言来写

给你一个可以转换任意长度的

int org=1212123; /*这个数是要转换的正整数,可以任意长度*/

int bcd[255]; /*用于存放bcd码,默认255个位数*/
int i=0,j=0;
do{
bcd[i]=org%10;
i++;
org=org/10;
}while(org)
for(j=i-1;j>=0;j--)
{
printf("%-5d,",bcd[j]);
}

热点内容
多台云服务器怎样用一个ip 发布:2025-01-11 23:59:44 浏览:247
办公服务器什么系统好 发布:2025-01-11 23:50:06 浏览:348
boat服务器怎么开 发布:2025-01-11 23:48:57 浏览:488
安卓手机视频怎么快进 发布:2025-01-11 23:46:18 浏览:357
电脑的项目怎么连接远端服务器 发布:2025-01-11 23:45:25 浏览:856
sql语句between 发布:2025-01-11 23:45:14 浏览:331
王者安卓转换苹果系统会损失什么 发布:2025-01-11 23:45:13 浏览:741
安卓手机涨价怎么办 发布:2025-01-11 23:27:17 浏览:716
三消游戏服务器搭建 发布:2025-01-11 23:20:01 浏览:250
c语言的函数不可单独进行编译 发布:2025-01-11 23:12:33 浏览:22