2
A
回答
6
存在一个细微的差异,使用明确的位清除运算符可以更轻松地处理文字和非类型常量。
无类型整数的默认类型为int,因此像a := uint32(1) & ^1
这样的内容是非法的,因为^ 1首先被计算并且被评估为^ int(1),即等于-2。 a := uint32(1) &^ 1
是合法的,但因为这里1基于上下文被评估为uint32。
明确表明一点可能会有一些性能上的提升,但我对此不太确定。
相关问题
- 1. 为什么这个清晰可见的符号无法解析?
- 2. 为什么arraylist清晰以及原创?
- 3. 为什么我的listView不清晰?
- 4. 为什么==运算符在MSVC中含糊不清的运算符重载
- 5. 为什么在Java中有两个右移运算符和只有一个左移运算符?
- 6. 为什么清晰写入数组边界时没有运行时错误?
- 7. 只有一个dropify清晰图像
- 8. 清除std :: vector需要赋值运算符。为什么?
- 9. 为什么分配给Go中的变量有一个等号
- 10. SQL Server不等式比较运算符,为什么有两个
- 11. 为什么PHP有两个“不等于”运算符(=和<>!)
- 12. SQL中的IN运算符和=运算符有什么区别?
- 13. 什么时候为一个类定义ostream运算符<<?
- 14. CUDA:为什么按位运算符有时比逻辑运算符更快?
- 15. 运算符+ =重载,为什么是const?
- 16. 为什么运算符重载失败?
- 17. !==运算符有什么作用?
- 18. “相对+”运算符有什么好处?
- 19. ^=运算符,它有什么作用?
- 20. 一个清晰的,简单的解释什么是一个结构C
- 21. 这个传播运算符为什么会崩溃运行时?
- 22. 符合:Deref和mark运算符,为什么它们不一样?
- 23. 为什么Python有一个__ne__运算符方法而不是__eq__?
- 24. C清晰分隔符
- 25. 这个运算符是什么“=>”?
- 26. 这个JavaScript运算符在做什么?
- 27. 什么是Java“= +”运算符?
- 28. 什么是“===”运算符?
- 29. “=”运算符返回什么?
- 30. 什么是()=>运算符?
至少在amd64上,它们编译到相同的机器代码,所以没有性能差异。 – JimB
JimB,我假定你的意思是,如果你做一切签署ints? –