摘要: C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是d 阅读全文
posted @ 2017-03-12 22:32 泡面小王子 阅读(1167) 评论(0) 推荐(1) 编辑
摘要: 一、C中printf计算参数时是从右到左压栈的。参见p34. 二、p35 类型转化(int&)a (其中 float a=1.0f) 其实,(int&)a就是*(int*)(&a) 书上的解释是: (int&)a 相当于将该浮点数地址开始的sizeof(int)个字节当成int型的数据输出,因此取决 阅读全文
posted @ 2017-03-12 22:30 泡面小王子 阅读(255) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; char a[33]; int countOfZeros(int n) { int count=0; itoa(n,a,2); int len=strlen(a); //cout>num; cout<<countOfZeros(num)<<endl; } 阅读全文
posted @ 2017-03-12 11:05 泡面小王子 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 普通法: 我总是习惯叫普通法,因为我实在找不到一个合适的名字来描述它,其实就是最简单的方法,有点程序基础的人都能想得到,那就是移位+计数,很简单,不多说了,直接上代码,这种方法的运算次数与输入n最高位1的位置有关,最多循环32次。 一个更精简的版本如下 快速法 这种方法速度比较快,其运算次数与输入n 阅读全文
posted @ 2017-03-12 10:43 泡面小王子 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次 阅读全文
posted @ 2017-03-12 10:20 泡面小王子 阅读(1322) 评论(0) 推荐(0) 编辑