How do you randomly zero a bit in an integer?

后端 未结 13 1895
無奈伤痛
無奈伤痛 2021-02-05 10:11

Updated with newer answer and better test

Let\'s say I have the number 382 which is 101111110.

How could I randomly turn a bit which is not 0 to

13条回答
  •  后悔当初
    2021-02-05 10:54

     int val=382
    
     int mask = ~(1 << N)   
    
     // this would turn-off nth bit (0 to 31)
     NewVal = (int) ((uint)val & (uint)mask} 
    

提交回复
热议问题