原理

0x的意思其实是十六进制,后面加的数其实就是一个十六进制数。

在十六进制中,我们知道a代表10,b代表11,c代表12,d代表13,e代表14,f代表15。

所以3f3f3f3f这个数用十进制数表示其实就是1061109567,是int中的一个比较大的数。而且在程序中,经常要相加,而这个数*2还是没有超过int的范围,是一个很实用的数。

而0xbfbfbfbf则是一个很小的负数(其实是太大了,超出了int的范围就变成了负数)。

应用

  1. 初始化一个数字,例如:int a = 0x3f3f3f3f;
  2. 定义一个常量,例如:const int minn = 0xbfbfbfbf;
  3. 应用到memset中,注意只写一个3f或bf即可。关于memset

还是比较难理解的。。。

相关文章:

  • 2021-07-23
  • 2021-06-21
  • 2021-08-01
  • 2021-05-29
  • 2021-06-03
  • 2021-12-26
猜你喜欢
  • 2022-12-23
  • 2021-12-28
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
相关资源
相似解决方案