这很容易修复。更阴险的假设是它假设 两个补码表示整数。 JoshThat can be easily fixed. The more insidious assumption is that it assumestwos-complement representation of integers.Josh 为什么不只是(x ^(x>> 31)) - (x> ;> 31)? 好​​的编译器实际上会生成这段代码。它避免了在今天的处理器上重要的分支。 请注意,Sun拥有此方法的专利。 Carsten汉森Why not just (x ^ (x>>31)) - (x>>31)?Good compilers will actually generate this code. It avoids a branch which isimportant on today''s processors.Be aware that Sun has a patent on this method.Carsten Hansen 这篇关于按位绝对值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-15 00:44