在Excel中实现位运算
发布时间:2023-11-08 00:43:00
我们知道,计算机使用的是二进制计数法。也就是说,在计算机中的所有信息都是使用二进制来存储和处理的。
下表列出了我们熟悉的十进制数及与其相对应的二进制数:
位运算规则
在位运算中,“按位与”运算(AND运算)分别按位比较两个相应的数字(0或1),当且仅当这两个数字都为1时,结果才为1,如下式所示:
可以看出,实现“按位与”运算,就是将对应位置的数相乘。因此,从右自左的第1个位置是1*1=1,第2个位置是0*1=1,等等,最后得到结果。
除了“按位与”运算外,还有按位或(OR)、异或(XOR)、蕴含(IMP)、相等(EQ)和非(NOT)运算,它们都有不同的运算规则。例如,对于OR运算来说,当两个数字至少有一个为1时,结果为1,如下式所示:
同理,可以看出,实现“按位与”运算,就是将对应位置的数相加,结果为正数就是1,结果为零就是0。因此,从右自左第1个位置是1+1=2,即为1,第2个位置是0+1=1,就是1,等等,最后得到结果。
其他的位运算规则可以参阅相关资料,下面主要以“按位与”和“按位或”为例,解如何在Excel中实现位运算。
将十进制数转换成二进制数
有时候,在Excel工作表中实现位运算是非常有用的,然而,Excel并没有直接用于位运算的函数,这就需要我们组合一些函数来实现位运算功能。
下面,以处理0至255之间的十进制数为例。
在将0至255之间的十进制数转换成二进制数时,需要的二进制数的位数是8位。例如,十进制数0的二进制数表示为:
00000000
十进制数255的二进制数表示为:
11111111
可以使用下面的公式来获得十制数相对应的二进制数的每一位(0或1):
=MOD(INT(十进制数/(2^(二进制数所处的位置值-1))),2)
也就是说,要求二进制数中的其中一位,先求2对该位所在的位置值减1的幂,然后由其十进制数除以所求幂的结果,对求得的结果取整,并作为MOD函数的参数求其对2的余数,即为该位所在的二进制数(0或1)。
下图1演示了在Excel工作表中使用公式将十进制数222转换成二进制数11011110的过程。
图1
在将十进制数转换成二进制数后,我们可以按照位运算的规则对两个或多个二进制数进行位运算。
在Excel中实现位运算
下图2展示了“按位与”运算,并将二进制数结果转换回十进制数。
图2
下图3展示了“按位或”运算,并将二进制数结果转换回十进制数。
图3
可以看出,将二进制数转换成十进制数,只需将对应的位乘以2的该位所在位置减1的结果次方,然后将所有结果相加即可。
使用SUMPRODUCT函数与上面的公式相结合,可以省去上面介结的一些中间步骤,即在一个公式中就将二个十进制数转换成二进制数,将它们“按位与”或者“按位或”,最后将位运算的结果转换成十进制数的结果。
首先,创建一个命名公式。
名称:b
引用位置:={1;2;4;8;16;32;64;128}
即用于转换的数字常量组成的数组。第1个位置值使用2^(1-1),第2个位置使用2^(2-1),第3个位置使用2^(3-1),为8位数的每一个位执行这个操作。
下面是我们的SUMPRODUCT公式,执行两个十进制数(dec1和dec2)的“按位与”运算:
=SUMPRODUCT(b * MOD(INT(dec1/b),2) * MOD(INT(dec2/b),2))
下面的公式执行“按位或”运算:
=SUMPRODUCT(b * SIGN(MOD(INT(dec1/b),2) + MOD(INT(dec2/b),2)))
公式中使用SIGN函数使结果数字值不会大于1。
因此,上文中的图2和图3所示的运算都可以使用一个公式来完成,如下图4所示。
图4
结语
位运算可以用来实现很多令人惊叹的电子表格设计,解决很多具有挑战性的问题,待我进一步学习后与大家分享。


猜你喜欢
- PPT怎么制作一个摆动的电压表指针动画?想要制作一段动画,就是电压表指针在不断摆动的效果,该怎么制作呢?下面我们就来看看详细的教程,需要的朋
- 我们的电脑失去了上网的效果,那基本没办法满足日常的使用需求了,用户想要进行上网的时候,发现本地连接怎么连接都没办法连接上,导致没办法进行上网
- 部分电脑改装其他版本Windows 8后,在一键恢复未被破坏的情况下,需要重新备份系统。若直接进行备份,Windows系统下的重置及恢复功能
- win10怎么修改注册用户名和版本号?很多用户不知道怎么在win10上修改自己最初注册的用户名,和显示的版本号信息,针对这个问题,下面小编就
- 不知道大家注意到没有,Win10创意者更新中加入了夜灯模式。真的是一个很实用贴心的小功能,不过,最近有网友反映,自己Win10系统夜灯模式打
- Win11正式版已经发布了,版本号为22000、194,之前微软也发布过22000、194预览版本,那么194预览版和正式版有什么不同呢?首
- 在免费发放了火炬之光2后epic又下了猛料即将免费推送塔科马号,很多小伙伴都听说过这款游戏但是还不知道什么时候能开始领取,下面就给大家带来了
- 我们用WPS的表格做完数据以后,又是为了别的没有安装WPS软件的电脑读取方便,会将WPS的格式保存为Excel的格式,下面小编为大家介绍操作
- 很多装系统的朋友都会问,现在什么系统最好用?这个问题在小编没有接触电脑技术这一行业的时候,也不懂。现在,也可以说不是很懂吧,只是自己在这里分
- 每当有新系统推出时,用户是否接受它的一个标准就是兼容性,如果这方面太差,用起来会无比折磨人。NexTech上,微软展示了一个有意的数据,那就
- Windows 10拥有多种性能模式,不同的性能模式会消耗不同的电量、提供不同的性能。那Win10系统如何设置性能最好?下面就来看看正确的设
- 最近有Win10系统的用户反映,在使用系统的时候明明网络连接是正常的,但是就是无法上网,不知道是什么原因,为此小编给你们带来了详细的教程,相
- 欢迎观看 Pixelmator Pro 教程,小编带大家学习 Pixelmator Pro 的基本工具和使用技巧,了解如何在 Pixelma
- 在使用Win10系统过程中,有不少小伙伴都遇见了操作中心是灰色的打不开,或者是不见了也没有显示,那么遇到这种问题应该怎么办呢?下面就和小编一
- 有时使用excel处理大量数据数据时,由于反反复复插入行,删除行而会留下来空白行,有什么办法能够快速删除掉吗?下面就跟小编一起看看吧。exc
- 打印机是我们办公日常必备设备之一,近日很多小伙伴反映遇到了Windows10 无法连接网络打印机,错误代码0x00000709 的提示,那么
- Win10系统上延续了自带XPS查看器的传统,在系统安装后,我们就能用自带的XPS查看器浏览XPS文档。那么在Win10上如何打开XPS查看
- wps表格是一款强大的数据处理工具,我们在使用wps表格处理数据的时候经常会用到公式,那么如果套用公式呢?下面就让小编告诉你如何在wps表格
- 我发现Windows任务管理器中有用户名为System的文件在运行,尤其有一个映像名称为system Idle Process的文件,CPU
- 笔记本与台式电脑相比,更加便携,出门学习、办公都是非常方便的。但是有时候也会出现笔记本电脑屏幕不亮的情况,这是什么原因?下面就是小编专门为大