博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
15、枚举类型和标志位
阅读量:4688 次
发布时间:2019-06-09

本文共 1213 字,大约阅读时间需要 4 分钟。

G常规 D十进制 X十六进制

myControl.Style =?Styles.ShowBorder |?Styles.ShowCaption;??
这时myControl.Style枚举的值将变成 1+2=3,它的ToString()将变成"Styles.ShowBorder , Styles.ShowCaption"?
这里我们可以解释为什么第三个值ShowToolbox可以为4,5..而不能为3。也就是说它的值不应该是前几项值的复合值。有一个比较简单的方法就是用2的n次方来依次为每一项赋值,例如 1,2,4,8,16,32,64.....? 原文:https://blog.csdn.net/zhouqinghe24/article/details/8243679

对于(&,|),运算的对象是位,也就是1/0,叫做位运算符

理解:0为false,1为true(通用:0表示假,所有非零的数表示真。 ######方便记忆:0,什么都没有骗人的,则为假)
运算结果只有下列四种情况。
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

1 | 1 = 1

1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
&&和&对于他们各自的运算对象来说,结果是一样的。

enum.ToString("F") //转换为标志字符串 比如Query

整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。

& 按位与, | 按位或 , ^ 按位异或
AND (位与&) OR ( 位或| ) XOR ( 位异或^ )
1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0
1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1
0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1
0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0

1、位运算

直接对整数在内存中的二进制位进行操作。程序中的所有数在计算机内存中都是以二进制的形式存储的。例如,2为10, 11为1011,位操作就相当于将对应的二进制数向左移动n位,即在二进制数的右边补0,例如(6<<2)为6二进制为110,向左移动2位11000,6<<2 = 24。

2、位运算的运算方式

如上所述,6<<2的计算方式可以为,6*2^2 = 24, 6<<m为6*2^m(6 乘以 2的m次方),其原理是因为计算机内存是二进制,向左移一位,即乘以2,移动m位即相当于乘以m个2。如果想不通,可以拿十进制数想。

原文:https://blog.csdn.net/xumi13/article/details/62897708

转载于:https://www.cnblogs.com/kikyoqiang/p/9880177.html

你可能感兴趣的文章
EventBus 最简易的使用方式
查看>>
jQuery与Dom
查看>>
统治世界的十大算法
查看>>
Microsoft Office word powerpoint 中删除MathType加载项后每次启动显示加载错误
查看>>
剑指offer54 表示数值的字符串
查看>>
h5py
查看>>
网络的四层架构与网站的数据库的用户信息表的设计
查看>>
响应在此上下文中不可用
查看>>
Mysql入门-基本操作(一)
查看>>
git-gui
查看>>
splay入门教程
查看>>
Queryable.Union 方法实现json格式的字符串合并
查看>>
福大软工1816:Beta总结
查看>>
windows服务创建与管理
查看>>
jquery监听div或者span内文本值的改变
查看>>
拜耳阵列
查看>>
C 语言 变量的赋值和初始化
查看>>
如何做LR自动关联和手动关联?
查看>>
【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现...
查看>>
[leetcode]Jump Game
查看>>