c++ 一些注意事项

1.long int的字节信息:int在32位系统下是4字节,long在32位也是4字节,在64位Int不变,但是long变成8字节,所以我们的编译器不同可能会导致我们处理int,long不同

2.注意c++有时候的强制类型转换:(注意最大最小值是不一样的,INT_MAX (231 − 1) 或 INT_MIN (−231))

#define INT_MAX 0x7fffffff
#define INT_MIN 0x80000000
INT_MAX = 2147483647
INT_MIN = -2147483648

int a;
long b=a*10;
//当a*10的大于0x7fffffff时,编译器是将a*10暂时存在一个int里面,然后在赋值给long,这样就会导致精度损失
//所以上面的操作不如换为以下的操作
b=a;
b=b*10;

 

posted @ 2018-09-19 09:24  yskn  阅读(367)  评论(0编辑  收藏  举报