c - 影响 char 上的移位运算符
问题描述
为什么这段代码会打印 -64?我不确定我是否理解右移,但这似乎很奇怪。
char t = 0x80;
printf("%i", t); //print -128 => 0b10000000
printf("%i", t>>1); //print -64 => 0b11000000, not 0b01000000
解决方案
推荐阅读
- c# - 用于替换数据表行中所有出现的字符串的 Lambda 函数
- javascript - 如何在 Javascript + jquery 中创建正则表达式
- node.js - 如何根据变量构建两个 .env 文件
- python - 如何在熊猫数据框中将重复项限制为 5 个?
- python - 将 django 视图转换为 django rest 框架 APIView
- mayavi - 除了“一些”顶点之外,mayavi 用一种颜色为所有形状着色
- c# - 赋值后引用对象不为空,怎么可能?
- java - Maven:如何排除或设置提供给其他依赖项拖动的依赖项
- unetstack - 中间节点在路由期间不转发所有收到的数据包
- micronaut - @MicronautTest 和 EmbeddedServer 有什么区别