C說話中交流int型變量的值及轉換為字符數組的辦法。本站提示廣大學習愛好者:(C說話中交流int型變量的值及轉換為字符數組的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中交流int型變量的值及轉換為字符數組的辦法正文
不應用其他變量交流兩個整型的值:
#include <stdio.h>
void main(){
int a = 3;
int b = 4;
a = a ^ b;//應用異或交流
b = b ^ a;
a = a ^ b;
printf("%d, %d\n", a, b);
a = a - b;//應用加減交流
b = a + b;
a = b - a;
printf("%d, %d\n", a, b);
a ^= b ^= a ^= b;
printf("%d, %d\n", a, b);
}
整形和字符數組型轉換:
#include <stdio.h>
#include <stdlib.h>
int sumof1(int x)//求一個數轉換成二進制今後1的個數
{
int countx = 0;
while(x)
{
countx ++;
x &= x-1; //每位與一次x - 1;就可以消失落最初一個1
}
return countx;
}
void main(){
char c[10];
int i = 999;
itoa(i, c, 10);//以10進制轉換成字符數組
puts(c);
itoa(i, c, 16);//以16進制轉換成字符數組
printf("0x%s\n", c);
itoa(i, c, 8);//以8進制轉換成字符數組
printf("0%s\n", c);
itoa(i, c, 2);//以2進制轉換成字符數組
puts(c);
i = atoi(c);//再將字符串轉成整形
printf("%d\n", i);
printf("%d\n", sumof1(i));//以2進制表現時1的個數
}