當前位置:首頁 » 編程語言 » 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]);
}

熱點內容
劍俠情緣緩存怎麼清理 發布:2025-01-11 22:33:56 瀏覽:316
win7旗艦版怎麼設置密碼 發布:2025-01-11 22:21:09 瀏覽:144
被害人訪問 發布:2025-01-11 22:06:24 瀏覽:366
朋友圈上傳長視頻方法 發布:2025-01-11 22:01:41 瀏覽:357
我的世界ice伺服器被炸罰款 發布:2025-01-11 21:54:36 瀏覽:725
linuxphpini配置 發布:2025-01-11 21:54:35 瀏覽:481
tp圖片壓縮 發布:2025-01-11 21:53:52 瀏覽:632
手柄怎麼調節安卓模式 發布:2025-01-11 21:44:36 瀏覽:950
國產伺服器搭建ftp 發布:2025-01-11 21:27:33 瀏覽:919
電腦系統哪個好用配置 發布:2025-01-11 21:26:04 瀏覽:141