在C语言中*(a+3)什么意思

 我来答
四舍五不入6
高粉答主

2019-10-05 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71371

向TA提问 私信TA
展开全部

>> 右移就是把这个数的末尾多少位去掉,如17>>3 表示 0001 0001 的最后3位去掉,就变成了 0000 0010

左移运算 左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。

例如: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。6. 右移运算 右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

扩展资料:

位操作是程序设计中对位模式按位或二进制数的一元和二元操作。

在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。

在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。

右移运算符“>>”是双目运算符,右移n位就是除以2的n次方。

其功能是把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例如:设 a=15,a>>2 表示把00001111右移为00000011(十进制3)。 应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。

参考资料来源:百度百科-位运算符

商宣0F6
2011-05-09
知道答主
回答量:11
采纳率:0%
帮助的人:4.5万
展开全部
和数学大致是一样,A这变量数加3应该是赋予*上面的,具体我好久没弄了,淡忘了,不过*在里面也代表乘号,但是你写的好像不完整
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2011-05-09 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5246万
展开全部
a 是指针,a+3 指针移动 sizeof(指针类型)* 3, *(a+3) 是值。
理解为数组元素 a[3] 的值。

int v[]={0,1,2,3,4,5};
int *a=&v[0];
printf("%d %d %d", *(a+3),a[3],v[3]);
得 3 3 3
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ad6596c
2011-05-09 · 超过20用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:42.7万
展开全部
这里的a是指针,就是将指针后移三个位置,再用*号取其值。如int p = &m; *p = m;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友314f82f
2011-05-09 · 超过10用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:32.1万
展开全部
指针吧!指向a+3这个位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式