C++中__builtin内置函数

❤️️💚💙💛🧡💜🖤🤍🧡

大家好!我是曾续缘🥰

欢迎关注💕

❤️点赞 👍 收藏 ⭐再看,养成习惯

🔥📚

__builtin内置函数是GCC、Clang等编译器所提供的一系列高效的内联函数,其中包括许多与二进制相关的函数。下面是所有与二进制相关的__builtin函数:

  • __builtin_popcount(x): 返回x的二进制表示中1的个数。
unsigned int x = 65535u;
int count = __builtin_popcount(x); // count的值为16
  • __builtin_clz(x): 返回x的二进制表示中从最高位开始连续0的个数,如果x的值为0,则返回所在类型的位宽。
unsigned int x = 0xf00000u;
int count = __builtin_clz(x); // count的值为8
  • __builtin_ctz(x): 返回x的二进制表示中从最低位开始连续0的个数,如果x的值为0,则返回所在类型的位宽。
unsigned int x = 0xf0u;
int count = __builtin_ctz(x); // count的值为4
  • __builtin_parity(x): 返回x的二进制表示中1的个数是否为奇数,是则返回1,否则返回0。
unsigned int x = 0xfu;
int parity = __builtin_parity(x); // parity的值为1
  • __builtin_bswap16(x): 将x的二进制表示中的16位进行字节交换。
unsigned short x = 0xaabb;
unsigned short y = __builtin_bswap16(x); // y的值为0xbbaa
  • __builtin_bswap32(x): 将x的二进制表示中的32位进行字节交换。
unsigned int x = 0xaabbccddu;
unsigned int y = __builtin_bswap32(x); // y的值为0xddccbbaa
  • __builtin_bswap64(x): 将x的二进制表示中的64位进行字节交换。
unsigned long long x = 0xaabbccddeeff1122ull;
unsigned long long y = __builtin_bswap64(x); // y的值为0x2211ffeeddccbbaa

以上是C++中所有与二进制相关的__builtin函数, 觉得有用别忘了点赞哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值