我需要将 64 位整数的第 n 位设置为 1;有一个内在的(记录在这里http://msdn.microsoft.com/en-us/library/z56sc6y4(v=vs.90).aspx):
unsigned char _bittestandset64(
__int64 *a,
__int64 b
);
完成这项工作。我的问题是,是否有办法只进行位设置(无需测试),以及是否有任何性能影响使用 bittestandset64 忽略返回值。
如果有一种方法可以在 GCC 中使用(对于 Intel Core2 到 i7),我也很感兴趣。