如何用vba加减二进制数?
How to add or subtract binary numbers using vba?
我有一个5位二进制数(10110、10111、01011等)的数据,是光纤中传输比特的数据信息。
现在我碰巧做的是我需要对几个二进制数进行求和和减法,而且这些量很大。
因此,由于我的 excel sheet 中已经有了这些数据,所以我正在考虑实施 VBA 代码来加减二进制数。
我找不到任何求和 1+1=10 的函数,我只是发现 1+1=2。另外,要减去,有一种 1 和 2 的补码方法。
如果有VBA可以完成的事情,请帮助我。我已经尽力写代码了,但总和是 1+1=2。
谢谢!
在 A1 和 A2 中有 5 位二进制文件,在另一个单元格中输入:
=DEC2BIN(SUM(BIN2DEC(A1),BIN2DEC(A2)))
如您所见,VBA 不是必需的。如果你真的需要 VBA 那么:
Public Function BinSum(s1 As String, s2 As String) As String
With Application.WorksheetFunction
BinSum = .Dec2Bin(.Sum(.Bin2Dec(s1), .Bin2Dec(s2)))
End With
End Function
使用VBA
worksheetfunction.DEC2BIN(worksheetfunction.BIN2DEC("0011") + worksheetfunction.BIN2DEC("0011"))
我有一个5位二进制数(10110、10111、01011等)的数据,是光纤中传输比特的数据信息。 现在我碰巧做的是我需要对几个二进制数进行求和和减法,而且这些量很大。 因此,由于我的 excel sheet 中已经有了这些数据,所以我正在考虑实施 VBA 代码来加减二进制数。 我找不到任何求和 1+1=10 的函数,我只是发现 1+1=2。另外,要减去,有一种 1 和 2 的补码方法。 如果有VBA可以完成的事情,请帮助我。我已经尽力写代码了,但总和是 1+1=2。 谢谢!
在 A1 和 A2 中有 5 位二进制文件,在另一个单元格中输入:
=DEC2BIN(SUM(BIN2DEC(A1),BIN2DEC(A2)))
如您所见,VBA 不是必需的。如果你真的需要 VBA 那么:
Public Function BinSum(s1 As String, s2 As String) As String
With Application.WorksheetFunction
BinSum = .Dec2Bin(.Sum(.Bin2Dec(s1), .Bin2Dec(s2)))
End With
End Function
使用VBA
worksheetfunction.DEC2BIN(worksheetfunction.BIN2DEC("0011") + worksheetfunction.BIN2DEC("0011"))