C语言中交换int型变量的值及转换为字符数组的方法
不使用其他变量交换两个整型的值:
#include
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
#include
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的个数
}
相关阅读:
C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
qt实现倒计时示例
ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题
Android SQLite数据库增删改查操作的案例分析
ANDROID 完美退出APP的实例代码
Win8系统下宽带连接提示651错误的解决方法
node+express+ejs制作简单页面上手指南
使用jQuery的easydrag插件实现可拖动的DIV弹出框
关于JS中的方法是否加括号的问题
jQuery实现div随意拖动的实例代码(通用代码)
PHP-Java-Bridge使用笔记
jQuery添加删除DOM元素方法详解
Win10 Mobile正式版10586上手视频曝光
Java编程中的vector类用法学习笔记