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