_bittest & _bittestandset

C 中的unsigned 类型默认为unsigned int类型。unsigned char为8bit都使用,没有符号位。

char < unsigned char < int < unsigned int

_bittest, _bittest64 在vs2005以后支持,返回值为unsigned char,如果要得到0或1的值需要进行强制类型转换。检查地址a中,第b位的值是0还是1。注意到b的值从0开始取,如果判断int 类型的最高位,就用b=32-1;

Generates the bt instruction, which examines the bit in position b of address a, and returns the value of that bit.

unsigned char _bittest( long *a, long b);unsigned char _bittest64( __int64 *a, __int64 b);

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

posted @ 2009-11-08 03:44  莫忆往西  阅读(782)  评论(0编辑  收藏  举报