上一个偶数

Previous even number

本文关键字:上一个      更新时间:2023-10-16

如果一个整数是不均匀的(奇数),我想得到上一个数字,否则我想保留当前数字。例如,如果x = 3,我想将2分配给x,如果x = 4,则什么都不发生。

目前,我做以下操作:x = (x/2)*2,但我听说除法的计算成本很高。-O3是否优化了该表达式?我使用的是c++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4编译器。CCD_ 8是CCD_。

尝试以下

x &= ~1;

我假设x被声明为具有类型int。否则,如果类型x的秩大于类型int的秩,则应使用变量x类型的整数文本。