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是位位置吗?在这种情况下,您应该使用

数 = 数 | (1 << e);

反而

数 = 数 | e;

于 2012-10-26T15:44:32.517 回答
0

如果 e 是你应该做的位位置num |= (1 << e)

于 2012-10-26T15:50:43.440 回答