谭浩强的C语言书中的代码

源代码在线查看: 例12.1.txt

软件大小: 89 K
上传用户: rain0413
关键词: 谭浩强 C语言 代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				例 12.1取一个整数a从右端开始的4~7位。
				可以这样考虑:
				① 先使a右移4位。见图12.3。图12.3(a)是未右移时的情况,(b)图是右移4位后的情况。目的是使要取出的那几位移到最右端。
				
				右移到右端可以用下面方法实现:
				a >> 4
				② 设置一个低4位全为1,其余全为0的数。可用下面方法实现:
				~ ( ~ 0 				~0的全部二进制为全1,左移4位,这样右端低4位为0。见下面所示:
				0:0000…000000
				~0: 1111…111111
				~0				~(~0				③ 将上面二者进行&运算。即
				(a >> 4)  & ~ ( ~ 0 				  根据上一节介绍的方法,与低4位为1的数进行&运算,就能将这4位保留下来。
				  程序如下:
				main( )
				     {unsigned a,b,c,d;
				         scanf("%o",&a);
				         b=a>>4;
				         c=~(~0<<4);
				         d=b&c;
				         printf("%o, %d\n%o, %d\n",a,a,d,d);
				}
				  运行情况如下:
				331			

相关资源