ACM无穷常数的设置

无穷大

[cpp]  view plain  copy
 
  1. const int INF = 0x3f3f3f3f;  

这样设置的好处是可以通过memset直接对连续的内存进行无穷大初始化,如下

[cpp]  view plain  copy
 
  1. memset(blockptr,0x3f,blocksize);  


无穷小

[cpp]  view plain  copy
 
  1. const int NINF = -INF -1;  
  2. const int NINF = 0xc0c0c0c0;  

与无穷大类似,可以使用memset对连续内存进行无穷小初始化

[cpp]  view plain  copy
 
  1. memset(blockptr,0xc0,blocksize);  


此处INF+INF并不会造成溢出(=2122219134或0x7e7e7e7e),这样就不会造成INF+INF突变为一个负数.

X在一定范围内仍然保证X+INF>=INF

你可能感兴趣的:(——ACM——)