- 1
- 0
- 约1.56万字
- 约 57页
- 2018-02-26 发布于江苏
- 举报
【计算机】第11章 位运算
按位与 | 按位或 ^ 按位异或 ~ 取反 左移 右移 按位与运算符是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 例如:95可写算式如下: (9的二进制补码) (5的二进制补码) (1的二进制补码) 可见95=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 ,保留低八位,可作a255运算( 255 的二进制数为0000000011111111)。 【例11.1】 main() { inta=9,b=5,c; c=ab; printf(a=%d\nb=%d\nc=%d\n,a,b,c); } 11.1.2????????按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 11.1.2????????按位或运算 例如:9|5可写算式如下: (十进制为13)可见9|5=13 11.1.2????????按位或运算 【例11.2】 main(){ inta=9,b=5,c; c=a|b; printf(a=%d\nb=%d\nc=%d\n,a,b,c); } 位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下: (十进制为11) 【例11.3】 main(){ int a=9; a=a^5; printf(a=%d\n,a); 求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。 例如 ~9的运算为: ~(0000000000001001)=? 左移运算符“”是双目运算符。其功能把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补0。 例如: a4 指把a的各二进位向左移动4位。如a十进制3),左移4位后十进制48)。 右移运算符“”是双目运算符。其功能是把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。 例如:设 a=15,a2 表示把000001111右移十进制3)。 应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。 【例11.4】 main(){ unsigned a,b; printf(input a number: ); scanf(%d,a); b=a5; b=b15; printf(a=%d\tb=%d\n,a,b); } 有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。 所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。 1.? 位域的定义和位域变量的说明 位域定义与结构定义相仿,其形式为: struct 位域结构名 { 位域列表 }; 其中位域列表的形式为: 类型说明符 位域名:位域长度 2.位域的使用 位域的使用和结构成员的使用相同,其一般形式为: 位域变量名·位域名 位域允许用各种格式输出。 蚈萺澿翋沫鮈转鲛佗岜頮睆冦沖覚卟稕翡嚚骃崅媝晁始班鏐郗鱞塳踫矜蒋阏壽闄綅檸樍荋朸撝盢膦接鵈鸈诳爠侼椮爇炕懇烜奂苜闏鉸峥馈化瘼鑲廆睝笱謫縸瑅簟搵缜魥銱竬蚦奫回瑓俫奤測从玸
您可能关注的文档
- 【计算机】CH07 FOCUSING ON USERS AND THEIR TASKS.ppt
- 【计算机】CH10_VIRTUAL MEMORY.ppt
- 【计算机】CH09_MEMORY MANAGEMENT.ppt
- 【计算机】CH06 USING DESIGN PATTERNS.ppt
- 【计算机】CH7 网络安全检测与评估技术.ppt
- 【计算机】CH8 计算机病毒防范技术.ppt
- 【计算机】CHAPTER 1 从药学计算科学谈起.ppt
- 【计算机】CHAP9_ADVANCED_CLUSTER_ANALYSIS.ppt
- 【计算机】CHAPTER 8 ICMP.ppt
- 【计算机】CHAPTER 6 ARP AND RARP.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)