0x3f3f3f3f 0xbfbfbfbf 等的原理及应用
原理
0x的意思其实是十六进制,后面加的数其实就是一个十六进制数。
在十六进制中,我们知道a代表10,b代表11,c代表12,d代表13,e代表14,f代表15。
所以3f3f3f3f这个数用十进制数表示其实就是1061109567,是int中的一个比较大的数。而且在程序中,经常要相加,而这个数*2还是没有超过int的范围,是一个很实用的数。
而0xbfbfbfbf则是一个很小的负数(其实是太大了,超出了int的范围就变成了负数)。
应用
- 初始化一个数字,例如:int a = 0x3f3f3f3f;
- 定义一个常量,例如:const int minn = 0xbfbfbfbf;
- 应用到memset中,注意只写一个3f或bf即可。关于memset
还是比较难理解的。。。