欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 【转bin】EXCEL数据转bin

【转bin】EXCEL数据转bin

2025/6/12 18:12:45 来源:https://blog.csdn.net/zhh1749621866/article/details/145147286  浏览:    关键词:【转bin】EXCEL数据转bin

如果DEC2BIN函数的默认设置无法满足需求(它最多只能处理10位的二进制转换),可以通过VBA宏方法来处理较大数的二进制转换并提取特定位置的数字:

十进制转二进制(不限位宽)

  • 1、打开VBA编辑器(Alt + F11)
    在Excel中,通过“开发工具”选项卡(如果没有显示,可以在“文件 - 选项 - 自定义功能区”中勾选“开发工具”),点击“Visual Basic”进入VBA编辑器。
  • 2、编写转换函数代码
    在VBA编辑器中插入一个新的模块,然后输入以下代码:
    超过32位可以用LongLong数据类型,不过可能某些版本不支持该类型
Function DEC2BIN_LARGE(num As Long) As StringDim binStr As StringbinStr = ""Do While num > 0binStr = IIf(num Mod 2 = 0, "0", "1") & binStrnum = Int(num / 2)LoopDEC2BIN_LARGE = binStr
End Function

或者


Function DEC2BIN_FULL(num As Long, bits As Integer) As StringDim binStr As StringbinStr = ""Do While num > 0binStr = IIf(num Mod 2 = 0, "0", "1") & binStrnum = Int(num / 2)Loop'如果二进制字符串长度小于指定的位数,则在左侧补0While Len(binStr) < bitsbinStr = "0" & binStrWendDEC2BIN_FULL = binStr
End Function
  • 3、自定义函数进行转换和提取
    回到Excel工作表,在某个单元格(假设数据131072在A1单元格)中使用自定义函数=DEC2BIN_LARGE(A1)得到完整的二进制表示。然后按照之前的方法,使用MID函数提取第0 - 9位,如在B1单元格输入=MID(DEC2BIN_LARGE(A1),1,10)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词