【发布时间】:2021-04-30 12:00:29
【问题描述】:
如果这对某些人来说似乎很明显,我深表歉意,但我有点放屁。
有人可以确认这两种对齐到 4 字节边界的不同方法在数学上是否等效?
使用单模运算:
int remainderLength = bytes.Length % AlignmentBoundary;
if (remainderLength > 0)
{
int paddingLength = AlignmentBoundary - remainderLength;
for (int i = 0; i < paddingLength; i++)
bytes.Add(0);
}
使用双模运算:
int paddingLength = (AlignmentBoundary - bytes.Length % AlignmentBoundary) % AlignmentBoundary;
for (int i = 0; i < paddingLength; i++)
bytes.Add(0);
【问题讨论】: