您的位置:首页 > 其它

通过异或交换变量的数值

2015-07-25 11:12 344 查看
通过异或交换变量的数值,最我最为推荐的swap方法,相比

借用第三变量,“temp = a; a = b; b = temp”
, 异或交换 更有效率!

利用加减法,“a = a + b; b = a - b; a = a - b”,异或交换 适用范围更广。这里的适用范围更广,说得有点牵强。加减法给我的直观感觉是 不安全,当“a = a + b”的结果超出了该变量类型所支持的数值范围,会不会出问题?也许是我多虑了,无符号整形有Carry(进位或借位 的标志位),符号整形使用补码参与运算,都是稳稳的,我在VS下做了测试,没有出错。我主要的忧虑是,有些单片机的C编译器,真的不够好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: