int (int port1 = 52010) から unsigned chars のペア ( unsigned char port2[2]
? 除算の処理方法がわかりません。
2 に答える
5
通常、マスキングとシフトを使用します。
const unsigned short port = 52010;
uint8_t port2[2];
ビッグエンディアン:
port2[0] = port >> 8;
port2[1] = port & 255;
リトルエンディアン:
port2[0] = port & 255;
port2[1] = port >> 8;
IPネットワーキングで使用されるポート番号などの場合、通常は常にいわゆる「ネットワークバイトオーダー」(別名「ビッグエンディアン」)に移動します。これを行うための特別なマクロがあります。
const unsigned short port_n = ntohs(port);
unsigned short
これにより、必要に応じてバイトを交換しながら、ポート番号がとして保持されることに注意してください。
于 2013-01-14T14:44:10.333 に答える
2
port2[0] = port1 >> 8;
port2[1] = port1 & 0x00FF;
またはエンディアンに応じて逆の順序で
于 2013-01-14T14:44:22.903 に答える