热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

在Excel中使用10位以外的带符号数字

如何解决《在Excel中使用10位以外的带符号数字》经验,为你挑选了1个好方法。

我是否有某些方法可以在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))`
推荐阅读
author-avatar
明年夏天1314520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有