易截截图软件、单文件、免安装、纯绿色、仅160KB

C程序:确定一个整数的计算机内部表示中有几个"1"

/*
注意不断右移判断最低位是1有多少个的算法是错误的,
因为根据GNU C/C++的实现来看,负数是带符号填充进行右移的,所以如果是负数,该算法会死循环。
变通办法:Java可以用>>>逻辑右移位操作符,C/C++可以强制转换成无符号整数再处理
下面的程序是正解。其中num &= (num - 1) 会消除num的最小位置的"1"
*/
#include <stdio.h>
int numOnesInBinary(int num)
{
int numOnes = 0;
while (num != 0) {
num &= (num - 1);
numOnes++;
}
return numOnes;
}
int main()
{
printf("%d", numOnesInBinary(-1));
return 0;
}


相关文档:

C bomb。。。。FML~~~

输出斐波那契数列前N个合数,四个一行,N由使用者输入,介于10到30之间。
#include<stdio.h>
#include<math.h>
int fab(int);
int judge(int);
int main()
{
int a[30]={0};
int i,n,t=0;
do
{
printf("Input the number\n");
scanf("%d",&n);
}
while(n>3 ......

C3P0数据源 连接Access数据库


<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.spri ......

汉诺塔算法的递归与非递归的C以及C++源代码



汉诺塔算法的递归与非递归的C以及C++源代码
By Minidxer | January 30, 2008
汉诺塔(又称河内塔)问题其实是印度的一个古老的传说。
开天辟地的神勃拉玛(和中国的盘古差不多的神吧)在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上 ......

C程序:使用 googletest 测试框架

googletest C/C++ 测试框架非常好用,介绍及下载请看  http://code.google.com/p/googletest/
//============================================================================
// 使用 googletest 测试框架
//============================================================================

// Returns n! ......

C程序:打印1,2,3,..,n的全排列

/*
思路:递归算法
前0..cur-1位置上已经排好,当前cur位置取一个和前面都不一样的,然后递归处理后面的。
*/
/* 输出1,2,3,..,n的排列数 */
#include <stdio.h>
#include <assert.h>
#include <malloc.h>
void p(int n)
{
extern void _p(int n, int cur, int *a);
int *a;
a = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号