在Excel中怎么求取一个二进制的补码,比如A1中放的11001010101011,把补码放在B1中怎么用公式实现?

2024-11-11 20:38:07
推荐回答(3个)
回答1:

在10位二进制数以内,可以用此公式

B1=IF(LEFT(A1)="0",A1,DEC2BIN(BIN2DEC((10^(LEN(A1)-1)+SUM(--NOT(--MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))*10^(LEN(A1)-ROW(INDIRECT("2:"&LEN(A1)))))))+1))

数组公式,输完按Ctrl+Shift+Enter结束塌祥

——————————————————————

试试这个公式:

B1=IF(LEFT(A1)="0",A1,LEFT(A1)&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(A1,2,MAX(IF(--MID(A1,ROW(INDIRECT("2:"态袜&LEN(A1))),1),ROW(INDIRECT("2:"&LEN(A1)))))-2),0,"@"),1,0),"@",1)&MID(A1,MAX(IF(--MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1),ROW(INDIRECT("2:"&LEN(A1))))),99))

数团闭搏组公式。#VALUE代表补码已越界

回答2:

我作了一个公式 ,验证过可行,可以实现楼主的要求,设粗滑A1为数字源岩腔腊,圆激则B1输入公式=IF(LEFT(A1,1)="0",A1,LEFT(A1,1)&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(A1,2,99),0,"*"),1,0),"*",1),0,1,6)), 可见下图:

回答3:

这个好像不行。一个单元格中怎么实现那么多位的变化。不知道我说明没有