1

ビット演算を使用して、/24 のようなプレフィックスを 255.255.255.0 に変換したいと思います。

unsigned int を次のように使用してみました。

unsigned int mask = -(1 << 32 - prefix);

正しい場所に 1 を追加してから 0 に減分する while ループを作成することを考えています。

すべての助けをいただければ幸いです!

4

2 に答える 2

1

やってみました?

#include <stdint.h>
uint32_t mask = (-1) << (32 - prefix);

-1が2の補数表記で0xFFFFFFFFになると、それは仕事をします

于 2013-04-18T01:41:21.637 に答える