1

特定の位置に 1 ビットを配置するのに問題があります。たとえば、int eが 1 の場合、 neset_t* neの最初のビット を 1 に設定しました。

私はこれまでこれを行ってきましたが、うまくいきません。

typedef unsigned short int neset_t;

    void add(neset_t* ne,int e){

    int num = (int) *ne;
    num = num | e;
    *ne = (neset_t) num;
}

前もって感謝します。私の英語でごめんなさい。

4

2 に答える 2

0

eはビット位置ですか?この場合、使用する必要があります

num = num | (1 << e);

代わりは

num = num | e;

于 2012-10-26T15:44:32.517 に答える
0

e があなたがすべきビット位置である場合num |= (1 << e)

于 2012-10-26T15:50:43.440 に答える