Part1:
有无符号 运算 Sleep(haomiao)(windows.h)for unsigned 循环变号
字符’\0’
有无符号的运算和正常的运算相同,用补码解决了这个问题,使得加减统一。只要不是负数,有无符号,在计算过程中只考虑范围问题和输出形式问题即可。
Sleep()休眠函数,使程序停止,输入一个整型代表毫秒,在Windows头文件中。
循环变号,在一个数据类型中,不论输入多大的数,其值会在该类型的范围内。如11111111+1=00000000,开始循环。
字符‘’\0’在定义char中用=号赋值会自动在后边补一个,如果对其元素一个一个赋值,则不会自动补上,这个时候用strlen()函数,会得到一个随机值。
Part2:
浮点型 %lf 科学计数 -1*s*M*2^E 1 8 23 1 11 52 E负数 中间值 取出E
存储值 真实值 E为全零 E为全1
我们之前说过,用0101010……来存放所有的数据,规则不同表示不同的数据类型,这些规如何制定,不是现在要讨论的。浮点型同样如此,其规则为-1*S*M*2^E,其中来表示正负,1为负,0为正。M是有效数据,E为指数大小。如3.5用二进制表示为11.1,科学计数法为1.11*10^1;则S=0;M=1.11,E=1.知道这三个数据就可以把它存放到内存中了。32位中(float)用第一位来表示S,后八位表示E,由于E可能为负,所以加了一个中间值2^7-1(127),在我们存放时由真实值加上中间值就为存储值。M的形式一定要是1,xxxx…,由于所有的M开头都是1,所以在存放时省略了。存放时的问题解决了,取出还有一些要注意的地方。
注意放进去我们对M和E做了一些操作,取出时要反过来,这其中有两个特例:
E全为零,这个时候真实E为-127,是一个很小的值,所以我们直接规定E为1-中间值,而M取出时不再补1,而是补0。
E为全1,这个时候真实E为128,这个时候表示无穷大。