以下是引用林月儿在2015-9-4 22:25:01的发言:
什么呀,1/i不就是0么而且是整型的,上转型也不用强转。。。
入门级的书只要不乱写没什么限制,后期可以有选择的看
什么呀,1/i不就是0么而且是整型的,上转型也不用强转。。。
入门级的书只要不乱写没什么限制,后期可以有选择的看
1/i 不是1吗? 1是整型,i = 1; 也是整型,1/i 不是为1吗? printf("%d", 1/i);值为1,而printf("%f", 1/i)值为0,何解呢?
# include <stdio.h> int main(void) { int a=30; float b=3.0; float c=0.00000003; float d=123456789.0; printf("%f\n%d\n%d\n%d\n",a,b,c,d); return 0; }
00000000 00000000 00000000 00000001 //实际是连续的,这里为了方便观察,8位一组加空格了 //当然实际可能还涉及补码,移码,反码之类的东西,详细讨论没有益处, 按照原码来理解更方便一些.
2^(-23)