在以下内容中:
2147483647U > -2147483647 - 1
由于转换/升级为无符号,它将评估为false。
我的问题是,它会如何提升?
首先完成减法运算,结果将被提升为无符号或每个操作数将被提升为无符号?
实施例用4个比特[-8,7]进行签名并[0,15]为无符号:
7U > -7 -1
这会不会成为(无符号)( - 7)+(无符号)( - 1)=(9U) +(15U)= 24U
所以我们结束了7U > 24U
这是错误的。
或者我们将有
-7-1 = -8 = 8U
所以7U > 8U
这是假的是否对结果或每个操作数进行无符号升级?
0
A
回答
2
这种表达
2147483647U > -2147483647 - 1
有两个运营商,其中减去具有比逻辑更高的优先级>。
因此,在第一有计算子表达
-2147483647 - 1
的两个操作数的类型是int。这是他们的共同类型。所以这两项促销都不会完成。你会得到
-2147483648
然后表达
2147483647U > -2147483648
进行评估。
这里常见的类型是unsigned int。然而,在这种情况下,带符号和无符号整数具有相同的等级,而通用类型是无符号整型。
在这个表达式中,右操作数的内部表示被解释为unsjgned值。所以如果它大于左操作数,那么结果将等于假。
如果考虑这个例子
7U > -7 -1
然后-7 - 1
将等于-8。 -8内部表示是
1000
为unsigned int它等于8。因此
7u > 8u
等于假。
相关问题
- 1. 对于wchar_t进行无符号短操作是否安全?反之亦然?
- 2. SQLAlchemy:对结果进行操作
- 3. 对字符串进行减号操作
- 4. 如果我想对结果集的每一行进行多次操作
- 5. 为什么MIPS在无符号数字上的操作会给符号结果?
- 6. 产品升级过程中是否运行卸载操作?
- 7. Bigtable是否将操作写入日志以进行每个操作或批量操作?
- 8. 互操作结构:如果无符号短映射到byte []?
- 9. 对每个节点的缓存数据进行操作
- 10. XSLT:分割一个字符串并对每个字符进行操作
- 11. 当源信号只是一个实数时对复数进行操作
- 12. 对2个数字进行按位操作以始终生成唯一结果?
- 13. Python的符号或操作 “**”
- 14. 升级或不升级 - 这是questiion
- 15. 会对一对有符号和无符号数进行算术运算是否合法?
- 16. 无法使用Android webview的结果进行操作?
- 17. Solr按查询结果是否被另一个字段提升进行排序
- 18. 查找操作无结果
- 19. java.sql.SQLException:对空结果集进行非法操作。验证
- 20. Kibana对结果的操作
- 21. C:使用无符号操作数的一元减操作符行为
- 22. 每个设备都可以进行Android升级?
- 23. 位操作符与无符号字符
- 24. 对数组中的每个对象执行多个异步操作的意外结果
- 25. 在R中是否有文字处理函数在字级上进行操作?
- 26. git fetch是否对所有分支或仅当前分支进行操作?
- 27. C#0(减号)uint =无符号结果?
- 28. 每个操作方法是否需要发件人对象?
- 29. 是否可以对mysql数据库中的每个数据库执行查询,并仅使用mysql命令环境对结果进行求和或求和?
- 30. 迭代一个numpy数组并对每个元素进行操作
@Cratylus没有铸造。有通常的算术转换,它被应用于表达式的操作数。 – 2014-09-23 18:30:27