大家好!
假设我有一些数组:
int NM[4] = {255,255,255,255}; // для 10-ой маски
int DEC_NM[4] = {}; // для 2-ой маски
该数组NM[4]存储网络掩码八位字节。接下来,我需要将每个八位字节从第 10 个 SS 翻译到第 2 个 SS,我这样做是这样的:
int x;
for (int i = 7; i >= 0; i--){
x = ((NM[0] >> i) & 1);
Memo2 ->Lines ->Add(x);
}
此处仅获得第一个八位字节的翻译,我Memo2只能以单独的数字显示它,即 输出只是单独的八个单元。
我如何确保这些单独的八个单元被写入DEC_NM[0],第二个八位字节的接下来的八个单元被写入,DEC_NM[1]依此类推。
或者您是否需要为每个八位字节创建另一个包含 8 个元素的数组,然后将它们分别组合成一个整数!?
如果我正确理解您的问题 - 您需要一个位集(bitset cpp ref)它有一个 operator[] 可以让您访问每个位。
这是一个示例代码: