本文目錄一覽:
- 1、c語言怎麼把「abc」變成「bcd”
- 2、C語言中BCD碼轉換程序,兩者作用相同,哪一個執行效率高,為什麼?
- 3、C語言中怎麼把16進位轉換成bcd碼
- 4、單片機C語言十六進位轉BCD碼
- 5、C語言將八位無符號二進位數轉換成BCD碼
- 6、在C語言中,如何將16進位轉為BCD碼,如何表達
c語言怎麼把「abc」變成「bcd”
沒有必要轉換為int,然後再轉換回來,直接加1即可。
//—————————————————————————
#include stdio.h
#include string.h
void ne(char *a)
{
int i,len=strlen(a);
for (i = 0; ilen; i++)
a[i]++;
}
int main(void)
{
char str[80];
scanf(“%s”,str);
ne(str);
printf(“%s\n”,str);
return 0;
}
//—————————————————————————
C語言中BCD碼轉換程序,兩者作用相同,哪一個執行效率高,為什麼?
兩個演算法本質一樣,
第一個啰嗦一點,第二個簡潔。
效率只有微小差距..
化簡第一個
unsigned char BCD_Decimal(unsigned char bcd)
{
return (bcd4)*10+(bcd0xf);
}
就能發現2個其實一樣
C語言中怎麼把16進位轉換成bcd碼
void HextoBCD(u8 *pBuff,u8 len) //十六進位轉為BCD碼
{
u8 i,temp;
for(i=0;ilen;i++)
{
temp=pBuff[i]/10;
time[i]=pBuff[i]%10+temp*16;
}
}
單片機C語言十六進位轉BCD碼
你不應該寫16進位轉BCD碼的程序,你應該寫10進位轉BCD碼的程序,
例如 36—0x36 這就是10進位轉BCD碼,
而你所做的16進位轉BCD碼是這樣的:0x36—0x36
C語言將八位無符號二進位數轉換成BCD碼
第一步,將8位無符號二進位整數除以100,得到兩個結果:商和餘數,這個商就是3位壓縮bcd碼的最高4位(截掉高4位,留下低4位二進位碼);
第二步,將上面的餘數除以10,又得到兩個結果:商和餘數,將商的低4位作為3位壓縮bcd碼的中間4位,餘數的低4位作為3位bcd碼的最低4位。
在C語言中,如何將16進位轉為BCD碼,如何表達
#includestdio.h
char bcd[10][5]={“0000″,”0001″,”0010″,”0011″,”0100″,”0101″,”0110″,”0111″,”1000″,”1001”};
void hex2bcd(int x)
{if(x9)hex2bcd(x/10);
printf(“%s “,bcd[x%10]);
}
int main()
{int n;
printf(“請輸入一個十六進位數:”);
scanf(“%x”,n);
hex2bcd(n);
return 0;
}
原創文章,作者:SLXB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141164.html