首页 > 解决方案 > 如何在 C 中移动这些二进制数?

问题描述

我想改变变量x,所以结果是:0000 0000 0000 1111

    int x = 1111 0000 0000 0000;
    int z = x >> 12;

    printf("%d", z);

但它不起作用。首先,我无法编译程序,因为我得到了错误:

“错误:预期的','或';' 在数字常量之前"

其次,当我删除 中的数字之间的空格时int x,我得到结果“-162425”。但我希望结果是:“0000 0000 0000 1111”。

感觉就像程序不知道int x应该将其视为二进制数,而不是整数。

我应该使用其他东西吗int,是否有任何数据类型可以得到我想要的结果?

标签: cbinary

解决方案


推荐阅读