C语言中a&0x0表示什么?

                                   C语言中a&0x0表示什么?
一:说明
1.在C语言中,&可以用作取地址和按位与操作两种运算。不过取地址是针对变量的,当前&后是一个常量,在C语言中不允许取地址操作,所以这个是语句的一部分,前面还要有一个操作变量。比如a&0x01。
2.&是双目操作符,需要两个操作数,代表含义为按位与操作。
3.分析操作数0x01的二进制值为0000 0001综合按位与的运算规则,可以知道除最低位外,结果值为0,最低位结果与前一个操作数的最低位相同。 于是a&0x01就是取a的最低位值的运算。
eg:
(1)当a=0x00时
a = a&0x01 ---> 0000 0000 = 0000 0000 & 0000 0001
(2)当a=0x01时
a = a&0x01 ---> 0000 0001 = 0000 0001 & 0000 0001
(3)当a=0x11时
a = a&0x01 ---> 0000 0001 = 0001 0001 & 0000 0001
二:应用实例
1.判断一个数是奇数还是偶数
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
	int i;
	scanf ("%d",&i);
	if (i&0x01)
	printf("奇数\n");
	else
	printf("偶数\n");
	system ("pause");
	return 0;
}
2.取一个数的最低位的相反数
Warm=(~Warm)&0x01;
(1)当Warm=0x00时
Warm=(~Warm)&0x01; ---> 0000 0001 = 1111 1111 & 0000 0001
(2)当Warm=0x01时
Warm=(~Warm)&0x01; ---> 0000 0000 = 1111 1110 & 0000 0001
(3)当Warm=0x11时
Warm=(~Warm)&0x01; ---> 0000 0000 = 1110 1110 & 0000 0001
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魏波.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值