首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C语言中的右移位除法

C语言中的右移位除法
EN

Stack Overflow用户
提问于 2014-09-01 03:51:54
回答 2查看 116关注 0票数 0

我是一个绝对的C初学者,正在尝试学习位移位。我写了一个小程序,通过右移测试除法。

代码如下:

代码语言:javascript
运行
复制
#include<stdio.h>


int shift_divide_by_16(int x);

int main() {

        int x = 32;
        int y = shift_divide_by_16(x);
        printf("%d\n", y);
        return 0;

}

int shift_divide_by_16(int x) {

        x >> 4;
        printf("%d\n", x);
        return x;
}

该程序打印32 32。为什么不打印2 2

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-09-01 03:54:57

您需要将值重新赋值给x

代码语言:javascript
运行
复制
x = x >> 4
票数 4
EN

Stack Overflow用户

发布于 2014-09-01 03:58:52

您还可以使用:

代码语言:javascript
运行
复制
x >>= 4;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25595711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档