result = (temp <<1) &temp尽量不要写成result = (temp <<1)+ temp或者result = (temp <<1) + 1编程少用数学运算,尽量用逻辑运算,减少计算机的负衫逗担。以后程序复杂了用逻辑运算会显得你很会编程。我面试的时候写了一段简单的程序,因为我常用逻野弯辑运算,所以被录用了。老板告诉我其他人都用数学运算。
好瞎氏陵似信号标志。例如 红灯,绿灯。标志位 置1 用按位 或,置0用按 与。
例如:
unsigned short int flag
假定 最高位 是 信号标志
置1 flag = flag | 0x8000
置0 flag = flag &0x7FFF
0,1, 谁核拆是红灯,谁磨戚是绿灯,由编程者决定。
将一个无符号数的特定位置1,方态仔派法很简单,帆贺只需要定义个宏就可以实现,如下:#define SET_BIT(val, bit) ((val) | (0x1 <<戚睁 (bit)))其中val是无符号数,bit是要置1的指定位同理可以实现一个将无符号数的特定位清0的宏,如下:#define CLR_BIT(val, bit) ((val) &~(0x1 <<(bit)))调用宏,如下: bit = 1val = SET_BIT(val, bit)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)