c - 如何在 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
,是否有任何数据类型可以得到我想要的结果?
解决方案
推荐阅读
- objective-c - 为什么在 Xcode 调试器中点击对象时看不到 NSString 值?
- asymptotic-complexity - 为什么主定理只返回 Theta?
- uwp - UWP中复杂的后台工作,是真的吗?
- java - 从父节点创建的 Jackson 引用对象
- python - 在 Python 3 中将 gzip 与包含多个文件的存档一起使用
- aurelia - 如何安装 polyfill aurelia
- php - 在没有正确图像路径的情况下在网站上加载图片
- python - 为什么这个 python CGI 脚本会给出一个白页?
- java - 在 Java 类中注入 Koin
- ios - libGDX iOS 模块,如何重定向到 AppStore 进行评分和审查?