首页 > 代码库 > ((x & (1<<n)) >> n) 求某个整数中二进制位的某位的值

((x & (1<<n)) >> n) 求某个整数中二进制位的某位的值

LIN specifications 标识符奇偶校验函数
typedef 		 char	char8;
typedef unsigned char 	uint8;
typedef unsigned int	uint16;
typedef unsigned long	uint32;
typedef signed	 int	int16;
typedef signed   char	int8;			


uint8 lin_get_frame_id(uint8 id)
{
	uint8 temp;
	uint8 p0, p1;
	
	p0 = ((id & (1<<0)) >> 0) ^ ((id & (1<<1)) >> 1) ^ ((id & (1<<2)) >> 2) ^ ((id & (1<<4)) >> 4);		/* ((x & (1<<n)) >> n) 求某个整数中二进制位的某位的值 */
	p1 = ~(((id & (1<<1)) >> 1) ^ ((id & (1<<3)) >>3 ) ^ ((id & (1<<4)) >> 4) ^ ((id & (1<<5)) >> 5));
	
	temp = id | (p0<<6) | (p1<<7);
	
	return temp;			
}



((x & (1<<n)) >> n) 求某个整数中二进制位的某位的值