作者:明年夏天1314520 | 来源:互联网 | 2023-05-27 15:36
我是否有某些方法可以在Excel中丢失以设置二进制数中的真实位数,或者我们是否坚持使用10位DEC2BIN和BIN2DEC?10位是一个奇怪的选择.
理想情况下,我希望能够在真正签名的8位或真正签名的16位世界中进行选择,并且能够使用这些数字执行操作.就像现在一样,我不能将11111111设置为-1而不是255.还有其他人处理过这个吗?
提前致谢.
1> Rick Hitchco..:
Excel对二进制,八进制和十六进制数字施加10个字符的限制.对于二进制,这与10位限制一致.这个限制毫无意义,我认为这是一个随意的决定,每个Excel版本都保持向后兼容性.
对于8位二进制补码:
=LEFT(A1)*-128 + BIN2DEC(MID(A1,2,7))
对于16位二进制,将二进制数的每一半转换为十六进制并连接.您可以将结果提供给HEX2DEC
.然后你可以处理两个补码,就像我们为8位做的那样:
=LEFT(A1)*-32768 + HEX2DEC(BIN2HEX(MID(A1,2,7),2) & BIN2HEX(MID(A1,9,8),2))
如果最后8位为0(结果为0,而不是00),则两个BIN2HEX结果的串联失败.应该使用`HEX2DEC(BIN2HEX(MID(A1,2,7),2)和BIN2HEX(MID(A1,9,8),2))`