一个C语言的ACM题目

ProblemDescription从键盘输入一个正整数,通过移位、位与运算取出其内存形式的各个字节,并十六进制加以显示(顺序由低到高)。Input输入一个正整数,占一行... Problem Description
从键盘输入一个正整数,通过移位、位与运算取出其内存形式的各个字节,并十六进制加以显示(顺序由低到高)。

Input
输入一个正整数,占一行。
Output
一个字节占一行。最低字节先输出,然后次低、次高、最高。
Sample Input
1234

Sample Output
d2
4
0
0

Hints
1234的二进制位为10011010010,所以最低是11010010,次低为00000100,次高为00000000,最高为00000000;
对应的十六进制就是d2,4,0,0。
最好能帮我解释一下题目的意思
展开
 我来答
匿名用户
推荐于2016-02-06
展开全部

代码其实很简单,需要你理解C语言里整型变量的内存结构,还有大小端问题。

#include <stdio.h>
 
int main(void) {
    int x=1234;
     for (int i = 0; i < 4; i++) {
        printf("%x\n", x&0x000000ff);
        x = x >> 8;
    }
    getchar();
}

 

内存里1234是这样的:

追问
可以加QQ问吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式