EXCEL2007中最多可以转10位二进制的数,我想把40位的二进制转成十进制的数,有什么办法?

[复制链接]
查看11 | 回复2 | 2011-2-27 21:39:26 | 显示全部楼层 |阅读模式
以下代码试验通过可行:?我自己对VB这门语言也是一知半解,代码写得很蹩脚。返回值只能设定为Double了,设定为Long的话您的40位二进制会溢出的。Double可允许的最大数值范围要大很多。Double最大有效数值位数为16位。也就是说最大能准确无误地显示的整数为:999999999……(16个9)。比这个数更大的整数赋值给Double就只能显示为不精确的小数或者用科学计数法表示了。而这个数转换为2进制后是49位。也就是说下面这段代码最多只能转换49位二进制数。比这个更长的数转换的结果就不精确。您可以用Win7系统自带的计算器的程序员模式进行验证。Function MyBinToDec(ByVal value As St
回复

使用道具 举报

千问 | 2011-2-27 21:39:26 | 显示全部楼层
=BIN2DEC(MID(A1,1,9))*512^3+BIN2DEC(MID(A1,10,9))*512^2+BIN2DEC(MID(A1,19,9))*512+BIN2DEC(MID(A1,28,9)) 不过只能显示36位二进制数转十进制数;36位二进制放于A1格内,B1格输入此公式;连等号一起复制;以下是68719476735以下十进制转二进制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行