正在加载图片...
7.“右移”运算 用来将一个数的各二进制位全部右移若干位。 示例: x=x>>2,表示将x的二进制数右移2位,左边补2个0,若a=16,其二进制为00010000, 右移2位得00000100,其对应的十进制数是4,右移2位相当于该数除以4,在右移时,需要 注意符号位问题,对于无符号数,右移时左边高位移入0,对于有符号数,如果原来符号位为 0,则左边也是移入0,如果原来符号位为1,左边移入的还是1。这主要取决于所用的计算机 系统,有的系统移入0,称为“逻辑右移”,有的系统移入1,称为“算术右移”。 【实验任务】 一、程序改错 该部分实验主要训练学生读简单程序的能力,并在理解程序的基础上,改正程序中出现 的问题,这些问题都是初学者经常容易犯的错误,针对位运算这一章,主要有如下问题: 1)位运算中的运算数据是实型; 2)“按位异或”运算的规则运用颠倒,即二进制位相同结果为1,二进制位不同,结果 为0: 3)“&”运算符和“&&”运算符混淆。 针对上面出现的问题,查找下面程序中存在的问题,并改正调试。 1.打开c:lc-programming\10\pg10101.cpp,该程序将两个数做“按位与”运算,有一个小 问题,请修改,使程序能正确运行。修改后的程序以pg10101ok.cpp保存。该源程序内容如 下: #include <stdio.h> void main(void) float a,b,c; printf("请输入两个数,中间用逗号分隔:")方 scanf("%f,%f",&a,&b); c=a&b: -208-7. “右移”运算 用来将一个数的各二进制位全部右移若干位。 示例: x=x>>2,表示将 x 的二进制数右移 2 位,左边补 2 个 0,若 a=16,其二进制为 00010000, 右移 2 位得 00000100,其对应的十进制数是 4,右移 2 位相当于该数除以 4,在右移时,需要 注意符号位问题,对于无符号数,右移时左边高位移入 0,对于有符号数,如果原来符号位为 0,则左边也是移入 0,如果原来符号位为 1,左边移入的还是 1。这主要取决于所用的计算机 系统,有的系统移入 0,称为“逻辑右移”,有的系统移入 1,称为“算术右移”。 【实验任务】 一、程序改错 该部分实验主要训练学生读简单程序的能力,并在理解程序的基础上,改正程序中出现 的问题,这些问题都是初学者经常容易犯的错误,针对位运算这一章,主要有如下问题: 1) 位运算中的运算数据是实型; 2) “按位异或”运算的规则运用颠倒,即二进制位相同结果为 1,二进制位不同,结果 为 0; 3) “&”运算符和“&&”运算符混淆。 针对上面出现的问题,查找下面程序中存在的问题,并改正调试。 1.打开 c:\c-programming\10\pg10101.cpp,该程序将两个数做“按位与”运算,有一个小 问题,请修改,使程序能正确运行。修改后的程序以 pg10101_ok.cpp 保存。该源程序内容如 下: #include <stdio.h> void main(void) { float a,b,c; printf("请输入两个数,中间用逗号分隔:"); scanf("%f,%f",&a,&b); c=a&b; - 208 -
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有