2012-10-26 44 views
1

我在给定位置放置1位时遇到了问题。 例如,如果INTê是一个,我已经把第一位在neset_t * NE为1如何在短int中添加一位

我到目前为止已经做到了这一点,但不起作用。

typedef unsigned short int neset_t; 

    void add(neset_t* ne,int e){ 

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

在此先感谢。 对不起,我的英语。

回答

0

e是位的位置? 在这种情况下,您应该使用

num = num | (1 < <e);

代替

NUM = NUM​​ | Ë;

0

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