文档详情

精品《C语言程序设计》第12章 位运算.ppt

发布:2017-12-11约1.07千字共7页下载文档
文本预览下载声明
第十二章 主要内容 12.1位运算符和位运算 12.2位运算举例 12.3位段 12.3 位段 * ② 设置一个低4位全为1,其余全为0的数。 ~ ( ~ 0 4 ) ③ 将上面①、②进行运算。 (a 4) ~ ( ~ 0 4 )  程序如下: #include stdio.h void main() { unsigned a,b,c,d; scanf(“%o”,a); b=a4; c=~(~04); d=bc; printf(“%o,%d\n%o,%d\n”,a,a,d,d); 运行情况如下:331(输入) 331, 217 (a的值) 15, 13 (d的值) 输入a的值为八进制数331, 其二进制形式 经运算最后得到的d 即八进制数15,十进制数13。 ① 将a的右端n位先放到b中的高n位中,实现语句:b=a<<(16-n); ② 将a右移n位,其左面高位n位补0, 实现语句:c=a>>n; ③ 将c与b进行按位或运算,即c=c|b; 步骤: 程序如下: #include stdio.h void main() { unsigned a,b,c; int n; scanf(“a=%o,n=%d”,a,n); b=a(16-n); c=an; c=c|b; printf(“%o\n%o”,a,c); } 运行情况如下: a=157653,n=3 15765 3 75765  运行开始时输入八进制数157653, 即二进制数1101111110101011 循环右移3位后得二进制数0111101111110101 即八进制数75765 信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字节,例如,“真”或“假”用0或1表示,只需1位即可。在计算机用于过程控制、参数检测或数据通信领域时,控制信息往往只占一个字节中的一个或几个二进制位,常常在一个字节中放几个信息。 程序如下: struct packed-data { unsigned a:2; unsigned b:6; unsigned c:4; unsigned d:4; int i; }data; 
显示全部
相似文档