c语言程序转换成单片机语言,单片机编程常用到的类型转换 C语言程序实现
用C語言演示如何執行下列類型轉換:
1,獲取字符串中每個字符的十六進制值。 2,獲取與十六進制字符串中的每個值對應的字符。 3,將十六進制string轉換為整型。 4,將十六進制string轉換為浮點型。 5,將字節數組轉換為十六進制string。
示例一 輸出 string 中的每個字符的十六進制值。
char str[]="Hello World!";
int i;
printf("Hello World!\n");
for(i=0;i
{
printf("%02u: %c 字符十六進制 = %x \r\n",i,str[i],str[i]);
}
輸出結果
示例二 分析十六進制值的 string 并輸出對應于每個十六進制值的字符
char hexValues[] = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21";
int i;
char var,temp,count;
char strTb[20],strNum;
strNum = 0;
count = 0;
for(i=0;i
{
temp = hexValues[i];
if(temp == ' ') continue;
if((temp >= '0') && (temp
{
temp = temp - '0';
}else if((temp >= 'A') && (temp
{
temp = temp - 'A' + 10 ;
}else if((temp >= 'a') && (temp
{
temp = temp - 'a' + 10 ;
}else
{
continue;
}
var
var +=temp;
count++;
if(count >= 2)
{
printf("hexadecimal value = %x, int value = %3u, char value = %c\r\n",var,var,var);
strTb[strNum] = var;
strNum ++;
var = 0;
count = 0;
}
}
輸出結果
示例三 演示了將十六進制 string 轉換為整數
char hexString[] = "8E2";
char temp;
unsigned int i,IntVar=0;
IntVar=0;
for(i=0;i
{
temp = hexString[i];
if(temp == ' ') continue;
if((temp >= '0') && (temp
{
temp = temp - '0';
}else if((temp >= 'A') && (temp
{
temp = temp - 'A' + 10 ;
}else if((temp >= 'a') && (temp
{
temp = temp - 'a' + 10 ;
}else
{
continue;
}
IntVar
IntVar +=temp;
}
printf("字符串hexString整形值為:%lu\r\n",IntVar);
輸出結果
示例四 演示如何將十六進制 string 轉換為浮點型。
const char floatString[] = "4348016f";
int i,strNum,count;
char var,temp;
typedef union
{
float floatVar;
unsigned char byte[4];
}ParType_un;
ParType_un outPar;
strNum = 0;
count = 0;
for(i=0;i
{
temp = floatString[i];
if(temp == ' ') continue;
if((temp >= '0') && (temp
{
temp = temp - '0';
}else if((temp >= 'A') && (temp
{
temp = temp - 'A' + 10 ;
}else if((temp >= 'a') && (temp
{
temp = temp - 'a' + 10 ;
}else
{
continue;
}
var
var +=temp;
count++;
if(count >= 2)
{
outPar.byte[3-strNum] = var;
strNum ++;
var = 0;
count = 0;
}
}
printf("字符串floatString浮點值為:%f\r\n",outPar.floatVar);
輸出結果
示例五 下面的示例演示如何將字節數組轉換為十六進制字符串。
const unsigned char vals[6] = { 0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD };
int i;
char temp;
for(i=0;i
{
printf("%02x",vals[i]);
}
printf("\r\n");
輸出結果
總結
以上是生活随笔為你收集整理的c语言程序转换成单片机语言,单片机编程常用到的类型转换 C语言程序实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四代内存PK大比拼:超频之王究竟是谁?
- 下一篇: 电脑发烧友必看!超频CPU的秘诀,内存条