C 语言整型谜题
如题,此篇文章是描述C语言中的整数谜题。
假定机器字长是32位的,用2的补码表示整数。对以下C表达式,请问它们在所有情况下都正确吗?如果不是,请给出反例。
初始化:
int x = foo();
int y = bar();
unsigned ux = x;
unsigned uy = y;
1. 若x < 0, 则x * 2 < 0
2. ux >= 0
3. 若x & 7 == 7, 则(x << 30) < 0
4. ux > -1
5. 若x > y, 则-x < -y
6. x * x >= 0
7. 若x > 0 && y > 0, 则x + y > 0
8. 若x >= 0, 则-x <= 0
9. 若x <= 0, 则-x >= 0
答案如下:
1. 错。当x = INT_MIN
2. 正确。
3. 正确。
4. 错。-1被转换成UINT_MAX
5. 错。当x = -1, y = INT_MIN
6. 错。当x = 65535
7. 错。INT_MAX 和 INT_MAX
8. 正确。
9. 错。INT_MIN
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
搞了个类似宝塔的本地服务器工具, 感觉快发不动电了
项目是类似宝塔, MaMP pro, XAMPP 的桌面版本地服务器工具, 完全是一个人搞, 应用图标, 界面, 功能规划, 多语言, 所有东西都是一个人弄的. 中间还上榜过阮…
用TCC可以干些什么?
Tiny C Compiler 是一个微型的 C 语言编译器,支持 Windows 和 Linux 平台。其项目主页是: http://bellard.org/tcc/ 。你可…
请教,如何删除或者禁用 Windows 11 自带的输入法,只保留微信输入法?
我记得原来是禁用或者删除了自带的输入法,最近系统更新,输入时经常会切换到自带的输入法。 请教诸位大佬如何解决? 这。。。方便简洁的输入法不用,为啥非要去用“小而美”的输入法…