是否有符号或其他约定来表示技术写作中值/变量/你有什么的字节顺序?
也就是说,如果我想描述一个算法或公式,并将该公式表示为数学表达式(例如X = P + 2 / Y),是否有一种方法可以指示其中一个变量的字节序? / p>
例如:
以下公式显示了如何计算新指针值
npnt
。使用存储在
INT
变量pnt
中的旧指针值时,请记住它存储为little-endian,而new
和offset
是大端。要使用pnt
的值执行数学运算,您必须将pnt
更改为big-endian。
INT pnt = 0x1722
INT new = 0x900F
INT offset = 0xF600
npnt = offset + new - pnt
这只是一个随机的例子。我关注的主要问题是公式本身 - 如果没有上面的段落解释,公式中的每个变量的字节顺序都没有显示。
我提出的解决方案是将箭头符号上标为变量,如下所示:
npnt → = offset → + new → - pnt ←
或者,更好的是,将箭头直接放在变量名称的上方(我不能使用有限的SO语言)。
那是否有约定?或者这是从来没有做过的事情,因为我首先描述/表示错误的东西?
答案 0 :(得分:1)
对于我所使用的跨平台代码库,我使用了将_be
附加到big-endian字节顺序的变量和_le
的小端字节顺序的约定。假设其他任何东西都是主机字节顺序。
为使用命名的网络协议创建的结构,因此很清楚您正在处理的字节顺序。我们必须处理大端和小端值,并且坚持这个约定有很大帮助。
如果你保持一致,那么在你的代码中犯错是很困难的。将foo_be
分配给bar
会导致错误,bar = be16toh( foo_be)
只是看起来正确。
如果您使用的是格式化文本,则可以对任何非主机字节顺序的值或变量使用子脚本be
或le
。