今天好久没写过C++程序了,使用VS2013 新建空的控制台程序,结果自动生成了头文件和main 方法。

就了解了stdafx.h头文件的含义及用法。

stdafx:standard Application Framework  extended,是预编译文件,将工程中的使用的一些标准的MFC 头文件预先编译,该工程再次编译时,就不需要编译该头文件,可直接使用编译的结果,可加快编译速度,节省程序运行时间。

x&(x-1),可将X中最后一位1 置为0;

使用x&(x-1)有两种用法:1,求x中包含1的位数,2 判断x是否为2的N次方;

具体代码:

// ConsoleApplication2.cpp: 主项目文件。

#include "stdafx.h"
#include "iostream"
using namespace System;
using namespace std; //判断x中包含1的个数
int CountOneSum(int x)
{
int count = 0;
while (x > 0)
{ x = (x&(x - 1));//将X中最后一个1 变为0,则执行与操作时,减少1的数量;
count++; } return count;
}; //判断一个数是否为2的N 次方,是2的N次方,则二进制只包含一个1 和若干0,x-1之后可将所有位置反,从而如果&操作为0,则是2的N次方。 int funcTwo(int x)
{
if (x&(x - 1) == 0)
return 1;
else
return 0;
} int main(array<System::String ^> ^args)
{
int x = 9999;
cout << CountOneSum(x); return 0;
}

  

基础知识复习(二)——stdafx.h 头文件及x&(x-1)运算的更多相关文章

  1. 关于找不到stdafx.h头文件问题

    代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...

  2. visual c++ 中的stdafx.h头文件的作用

    stdafx.h VC工程里面经常见到stdafx.h这个头文件,以前也没有特别注意,但是这个文件用不好经常会出错,所以就GOOGLE了一下,总算是弄清楚了... stdafx的英文全称为:Stand ...

  3. 关于找不到stdafx.h头文件问题(pass)

    代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...

  4. jni.h头文件详解二

    作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...

  5. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

  6. linux内核中链表代码分析---list.h头文件分析(二)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637598.html linux内核中链表代码分析---list.h头文件分析(二) 16年2月28日16 ...

  7. 【C语言】中的stdbool.h头文件

    C语言中的stdbool.h头文件 一.相关基础知识 二.具体内容 Win7下安装的VS2015中的stdbool.h的位置为: F:\Program Files (x86)\Microsoft Vi ...

  8. linux内核中链表代码分析---list.h头文件分析(一)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...

  9. 【转】【Raspberry Pi】Unix NetWork Programming:配置unp.h头文件环境

    一.初衷 近期正在做网络计算编程的作业.要求平台为unix/linux,想着Raspberry Pi装的Debian系统也是Linux改的,也应该能够勉强用着,所以就用它来做作业了! 二.说明 先把环 ...

随机推荐

  1. 11月30日《奥威Power-BI智能分析报表制作方法》腾讯课堂开课啦

    这么快一周就过去了,奥威公开课又要与大家见面咯,上节课老师教的三种报表集成方法你们都掌握了吗?大家都知道,学习的结果在于实际应用,想要熟练掌握新内容的要点就在于去应用它.正是基于这一要点,每一期的课程 ...

  2. bbs网站 models

    bbs网站 models #!/usr/bin/env python #_*_coding:utf-8_*_ from django.db import models from django.cont ...

  3. iOS中的#ifdef DEBUG为什么会在didFinishLaunchingWithOptions之前执行

    #ifdef DEBUG ...程序段1... #else ...程序段2... #endif 这表明如果标识符DEBUG已被#define命令定义过则对程序段1进行编译:否则对程序段2进行编译.#i ...

  4. 注解的基本盘点 -- 《Java编程思想》

    注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据. ---<Java编程思想> 其实注解可以理解为一个工具类,只要使用了这个工 ...

  5. 自动化环境robot framework安装中问题解决

    在搭建自动化环境的时候需要安装以下程序:

  6. [Ahoi2013]差异

    后缀数组+单调栈 代码 #include<cstdio> #include<algorithm> #include<cstring> using namespace ...

  7. oracle 查看某session的历史执行sql情况

    1. 查看性能最差的前100sql SELECT * FROM ( SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sq ...

  8. 滑动的Button

    在介绍SwitchButton之前,先来看一下系统Button是如何实现的.源码如下: @RemoteView public class Button extends TextView { publi ...

  9. 修改 MyEclipse 中的 jsp 和 servlet 模板

    找到  MyEclipse/Common/plugins/com.genuitec.eclipse.wizards_9.0.0.me201211011550.jar 这个文件(wizards后面的数字 ...

  10. android消息处理机制之2handler与looper,MessageQueue:的关系

    // Looper: 在UI主线程里面有默认有一个Looper对象来管理UI线程的各条消息,但是在自定义的实现Thread的消息循环和消息派发,缺省情况下Thread是没有这个消息循环的既没有Loop ...