![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
tonnychiu
最好的学习是看代码和写代码
展开
-
C语言中的左移与右移[转]
先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如:int i = 1; i = i << 2; //把i里的值左移2位也就是说,1的2进制是000…0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成 000…0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因转载 2017-12-28 15:53:14 · 565 阅读 · 0 评论 -
逻辑左移、算术左移、逻辑右移、算术右移区别
逻辑左移=算数左移,右边统一添0 逻辑右移,左边统一添0 算数右移,左边添加的数和符号有关e.g:1010101010,其中[]是添加的位逻辑左移一位:010101010[0]算数左移一位:010101010[0]逻辑右移一位:[0]101010101算数右移一位:[1]101010101转载 2017-12-28 15:57:09 · 5047 阅读 · 1 评论 -
面试题:运算符优先级
#include <iostream>using namespace std;int main(){ unsigned char a=0xA5; unsigned char b=~a>>4+1; printf("%d\n",b); return 0;}首先是运算符优先级:=、~、>>和+优先级顺序是怎样的 运算符优先级和口诀:一共有十五个优先级:1 () []转载 2017-12-28 16:12:35 · 511 阅读 · 0 评论