正在加载图片...
12位运算 12.1位运算符C语言提供了六种位运算符 按位与运算 12.1.2 按位或运算 12.1.3 按位异或运算 12.1.4求反运算 12.1.5 左移运算 12.1.6右移运算 12.2位域(位段) 12.3本章小结 6 12位运算 前面介绍的各种运算都是以字节作为最基本位进行的。但在很多系统程序中常要求在位 bit)一级进行运算或处理。℃语言提供了位运算的功能,这使得C语言也能像汇编语言一样 用来编写系统程序。 121位运算符C语言提供了六种位运算符: & 按位与 按位或 按位异或 取反 左移 右移 1211按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只 有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下 00001001 (9的二进制补码) 0000010 (5的二进制补码) 00000001 (1的二进制补码) 可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a的高八位清0,保留低八 位,可作a255运算(255的二进制数为000000110 【例12.1】 maino( int a=9. b=5.c c=a&b12 位运算................................................................ 1 12.1 位运算符C语言提供了六种位运算符:................................ 1 12.1.1 按位与运算................................................ 1 12.1.2 按位或运算................................................ 2 12.1.3 按位异或运算.............................................. 2 12.1.4 求反运算.................................................. 2 12.1.5 左移运算.................................................. 3 12.1.6 右移运算.................................................. 3 12.2 位域(位段)...................................................... 4 12.3 本章小结.......................................................... 6 12 位运算 前面介绍的各种运算都是以字节作为最基本位进行的。但在很多系统程序中常要求在位 (bit)一级进行运算或处理。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样 用来编写系统程序。 12.1 位运算符C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 12.1.1 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只 有对应的两个二进位均为 1 时,结果位才为 1,否则为 0。参与运算的数以补码方式出现。 例如:9&5 可写算式如下: 00001001 (9 的二进制补码) &00000101 (5 的二进制补码) 00000001 (1 的二进制补码) 可见 9&5=1。 按位与运算通常用来对某些位清 0 或保留某些位。例如把 a 的高八位清 0 ,保留低八 位,可作 a&255 运算( 255 的二进制数为 0000000011111111)。 【例 12.1】 main(){ int a=9,b=5,c; c=a&b;
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有