excel - 在 Excel 中进行二进制和/或十六进制计算
问题描述
总的来说,我一直认为自己在 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
解决方案
hex2bin() 返回一个字符串,这不是 bitand() 的合适参数。使用 hex2dec() 代替:
=BITAND(HEX2DEC(G3),HEX2DEC(N2))
我认为您还打算执行 or 操作,而不是 and,因此您应该检查是否将 bitand() 替换为 bitor(),但这是尝试使用字符串二进制作为数字的主要问题的次要问题。
推荐阅读
- c# - Selenium 如何从敲除的数据绑定中获取隐藏文本,例如 data-bind="textInput: overridePassword, enable: false"
- scala - Scala:Http客户端读取http响应
- javascript - 将 promise 函数重构为 es6 格式,await 实际上并没有 await
- django - 查询django外键关系
- c++ - 这是一个对象析构函数吗?
- r - 根据两个条件创建新列的最佳方法是什么?
- javascript - 读取二维数组行为问题?
- powershell - 从 Powershell 调用 InternetCrackUrl
- python - 使用 mysql 占位符从 sql 表中选择时出错
- python-3.x - 从具有相应 Boolean-Updated2x 的最新 ID 中获取日期