当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(二) > 2.4 位运算的C程序实现 > 2.4.1 什么是位运算
下来我们再讨论
关于C里边的一个
也是很特殊的一个运算 位运算
这个我们在数学里边也不怎么看到这种运算
位运算以及它在C语言里边的一个实现
这里边大家一定是第一个问题
什么是位运算啊
位运算都有哪些啊 它有什么用啊
这三个问题我们一并来讨论
首先我们看什么是位运算
位运算其实我们是知道的
计算机里边存的就是2进制位
比如说
这么一个十进制的数13
你存到计算机里边去的时候
你存的不是十进制的13
你存的是2进制数的
如果我们用一个字节来存它的话
它存的就是00001101
如果我们用两个字节存它的话
前边8位都是0
这个数如果是正的13呢
那个字节的最高位就是0
如果是负的13最高位就是1
实际上在计算机里看到的无论是什么样的
数据还是字符
还是图形 声音等等都是这样的2进制位
我们这里所谓的按位运算就是
按2进制的位进行运算
实际上这个也不难理解
我们平常在十进制运算的时候
我们也是按位运算的
只不过我们是按十进制的位运算
十进制整体一个数不按位运算怎么算呢
只是说我们到了2进制一说按位运算
好像是说我们把一个数打散了进行运算
事实上是我们做的是
2进制的
就是计算机里边存储的数据的
原始数据的一个运算
只不过这个运算的特点是什么呢
比如说
它是按每一位进行运算
最大的一个特点是不产生进位
也不产生借位
按位运算就完成了
比如说
这十几项是一个按位与
那这个与的结果
其实与的概念大家是有的
与的意思是说
所有输入都是真的时候
结果为真
按位运算也是这样子
比如说有两组输入
你可以有三组 四组 n多组输入
所有输入的位上是1的时候
输出就是1
也就是说所有输入的位上是真
输出才是真
只要输入的位上有一个是0
输出就是0
也就是只要有一个是假的
输出就是假的
所以我们看一下这一块呢说
这个真真为真 真真为真
真假为假 假真为假
也就说这是与的特点
实际上大家看到按位与
其实就一个乘的结果
只是按位乘
比如说
1乘1得1
那1乘0一定是得0了
0乘1也一定是得0了
只有1乘1的情况下才是1
所以 按位与
实际上就是按位乘的这么一个结果
我们现在说到什么是叫位运算呢
这就叫位运算
按计算机里存储的2进制位进行运算
不产生进位
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html