在Excel中执行二进制和/或十六进制计算

问题描述 投票:0回答:1

一般来说,我一直认为自己在Excel中非常称职(正常,数据透视表,图形,VBA等),但现在我正要寻找一个好喝的酒!

我有大量的十六进制记录,我想分析并绘制一些计算结果。在程序中它可能看起来像这样

static float getValue (uint8_t highbyte, uint8_t lowbyte) {
    int highbits = (highbyte & 0x0F) << 7 ;
    int lowbits = lowbyte & 0x7F;
    int rawValue = highbits | lowbits;
    float Value = rawValue;
    return Value;
}

我尝试过使用Excel及其二进制和十六进制函数。有时我会得到一些有意义的东西,例如“= BITAND(HEX2BIN(G3,8),HEX2BIN(N2,8))”,其中单元格g3是十六进制“30”,n2是十六进制“0f”,结果是1040。我假设这是十进制结果,但当我尝试将其转换为二进制等效时,Excel会抛出数据错误,因此我可以执行左移操作。

正如我上面所说,我有很多要处理的记录,如果可能的话,我想将它全部保存在Excel中。

毋庸置疑,以十六进制或二进制工作不是我的强项。任何人都可以帮我使用Excel函数来复制上面的编程代码吗?.... RDK

excel binary hex
1个回答
0
投票

hex2bin()返回一个字符串,这不是bitand()的合适参数。使用hex2dec()代替:

=BITAND(HEX2DEC(G3),HEX2DEC(N2))

我想你也打算做一个或一个opertaion,而不是一个和,所以你应该检查用bitor()替换bitand(),但这是尝试使用字符串二进制作为数字的主要问题的次要问题。

© www.soinside.com 2019 - 2024. All rights reserved.