无符号数变量ux和uy的声明和初始化如下
若sizeof(int)=4,则对于任意int型变量x和y,判断以下关系式是否永真。若永真请给出说明;若不永真则给出结果为假的一组x和y的取值,并编写小程序验证。注意:用c90标准进行编译,编辑命令如下。
gcc -std=c90 -o x.c
无符号数变量ux和uy的声明和初始化如下
若sizeof(int)=4,则对于任意int型变量x和y,判断以下关系式是否永真。若永真请给出说明;若不永真则给出结果为假的一组x和y的取值,并编写小程序验证。注意:用c90标准进行编译,编辑命令如下。
gcc -std=c90 -o x.c
(1)不永真,平方和可能超出int型取值范围,溢出后最高位是1时,就是负数了
(2)不永真,比如负数,-113二进制是10001111,经过右移两位,左移两位后变成10001100,,1进制是-116,显然-113>-116
(3)不永真,只要x<<2或y<<3有溢出,肯定不相等。----此条改为永真
(4)永真,左移没有溢出问题。x/4和y/8是整除
(5)永真,因为dx的值来自与int型的x,两个int类型相乘结果不会超出double类型范围
(6)不永真,浮点数都是有精度误差的
(7)不永真,浮点数都是有精度误差的
(8)不永真,dx或dy为0时有问题