资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
64位整形引起的混乱主要在两方面,一是数据类型的声明,二是输入输出。 首先是如果我们在自己机器上写程序的话,情况分类如下: (1) 在win下的VC6.0里面,声明数据类型的时候应该写作 _ _int64 a; 输入输出的时候用 %I64d scanf(”%I64d”, printf(”%I64d”,a); (2) 在linux下的gcc/g+里面,数据类型声明写作 long long a; 输入输出时候用 %lld (3) 在win下的其它IDE里面包括高版本Visual Studio,数据类型声明用上面两种均可 输入输出用 %I64d = 以下可无视 = 以下是对这种混乱情况的解释,如无兴趣可以跳过 首先要说的是,和Java等语言不同,C/C+本身并没有规定各数据类型的位数,只是限定了一 个大小关系,也就是规定从所占的bit数来说,short b+eps) return 1; if(a 0 说明ab,0说明ab,等于零说明a约等于b。 (与strcmp类似) eps 是一个很小的正数,具体取值按照实际情况而定,一般取1e-6。 3.4浮点数输出 如果最后要求输出浮点数,要特别注意避免-0.00的出现。如果要求输出到小数点后两位,则 输出前要加上: if(fabs(ans) 0.005) ans=0; 再输出。 3.5. 浮点数取整 对浮点数取整,要特别注意处理误差。如果其理论值就是整数,那么建议加0.5后取整(若向 上取整,则减0.5) 。否则,若理论值是5,由于误差算出来的是4.999999,那么取整就会得到4。 如果理论值不是整数,那么取整就只能加一个很小的正数(若向上取整,则要减去一个很小的正数) , 具体值根据实际情况而定,有些时候甚至不需要处理误差
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号