专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:计算机基础:编码04,认识反码和补码
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:计算机基础:编码04,认识反码和补码
回到目录
下一篇:无
本节前言
从本节开始,我们要来学习位运算的知识了。前面的关于进制的知识,其实都是为位运算作铺垫的。
一. 我为何要讲位运算,你为何要学位运算
在这里,我来说一说,为什么要设置位运算这样的铺垫知识。
对于软件工程,计算机科学与技术等等的计算机与电子类的科班出身的同学来讲,位运算,他们应该是学习过的。然而,当前在学习本专栏的同学之中,也可能存在着许多的非科班出身的人。
对于自学者来讲,有可能,有很多人是没有学习过位运算的知识的。
设置位运算的部分,就是为了使得大家都能够具备位运算的知识基础。
那么,为啥要具备着位运算的知识基础呢?
在 Win32 与 MFC 里面,某些个东西,它是需要你具备位运算的基础的。
比如说,在刚开始学习 MFC 或者 Win32 的时候,我们大概都会接触到一个用于弹出消息框的函数,MessageBox函数。在 MessageBox 函数里面,有一个输入参数,是用来表示消息框的样式的。在样式参数里面,如果设置值为 MB_OK,表示此消息框拥有【确定】按钮。如果设置值为 MB_OKCANCEL,表示此消息框拥有【确定】按钮和【取消】按钮。
MB_OK 和 MB_OKCANCEL 都是用于设置按钮样式的。还有用于在消息框中设置图标样式的。
在样式参数里面,如果设置值为 MB_ICONQUESTION,表示含有问号图标。如果设置值为 MB_ICONINFORMATION,则表示含有信息提示图标。
在设置样式的时候,可以同时含有按钮样式和图标样式,也可以只含有按钮样式或只含有图标样式。
假如,我们想要让 MessageBox 函数里面,有【确定】按钮,还有信息提示图标,那么,我们就设置样式值为【MB_OK | MB_ICONINFORMATION】。
假如,我们想要让 MessageBox 函数里面,有【确定】按钮和【取消】按钮,还有问号图标,那么,我们就设置样式值为【MB_OKCANCEL | MB_ICONQUESTION】。
在以上的例子中,单独的一个竖线运算符【|】,它是【位或】运算符。双竖线【||】是逻辑或运算符。
在上面,我们所讲的 MessageBox 函数里面的样式值的知识里面,就涉及了位或操作。位或,它是位运算的一种。
在学习 Win32 与 MFC 的时候,时不时地,都会用到位运算的知识。由于会用到,所以呢,在这里,我就决定去设置位运算的章节,用于为 Win32 和 MFC 的正式内容作铺垫。
二. 位运算的种类
在基础的 C/C++ 的学习中,大家肯定会了解逻辑运算的种类。逻辑运算包含逻辑与,逻辑或,逻辑非三种,它们的运算符分别为【&&】,【||】,【!】。
位运算的类型有很多,其中的三个与与逻辑运算相似,它们分别为按位与运算,按位或运算,按位取反运算,它们的运算符分别为【&】,【|】,【~】。
除了上面的三种运算类型之外,位运算还有逻辑左移,逻辑右移,逻辑右移,算数左移,算术右移,按位异或。
如果大家学习汇编语言的话,你应该还能够接触到循环左移,循环右移等等的位运算类型。
在本专栏里面,循环左移和循环右移我们是不讲的。以后,我会开设汇编语言专栏。到了那个时候,我会在汇编专栏中讲解位运算指令,其中,会包含有循环左移和循环右移的指令。
在本专栏里面,按位与,按位或,按位取反,按位异或是我们的重点。而逻辑左移、逻辑右移、算数左移、算术右移,我们也会去讲,然而,并不将其作为重点。
按位与,按位或,按位取反,安慰异或,个人认为,它们还是很重要的。
有可能,在我们的 MFC 与 Win32 的学习中,我们不会用到其中的全部。然而,学好它们,乃至学好整个的位运算,它将会为我们的编程技术,积累必要的基础。
以后,如果你有兴趣参与系统底层的开发的话,那么,位运算,应该会成为一个必备的基础的。它不难,也不像数据结构与算法那样,占有多大的比重。然而,它确实是必要的基础。
本节,我暂时不讲解正式的内容。下一节开始,我们开始来讲解位运算的正式内容。
结束语
本节不难,如果说,存在着你陌生的部分,有可能会是 MessageBox 函数的部分,多读几遍,应该可以看懂的。
专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:计算机基础:编码04,认识反码和补码
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:计算机基础:编码04,认识反码和补码
回到目录
下一篇:无