cpp中的十进制右循环移位

时间:2016-06-09 17:54:32

标签: c++ binary decimal bit-shift cyclic

我需要这样做"十进制右循环移位"。例如,如果输入为8652,则输出为2865

有没有办法在CPP中执行此操作而不转换为字符串和字符串操作?只需使用算术运算,循环和转换为二进制。

2 个答案:

答案 0 :(得分:1)

如果数字中的位数严格为4,则可以执行以下操作:

int src = 1234;

int dest = (src / 10) + (src % 10) * 1000;

此处,如果src结尾有0,则dest为3位数。你需要处理它。

对于其他长度,您需要适当调整代码。

答案 1 :(得分:0)

实际上,对于任何一个int数字,它都可以像这样简单快捷地完成:

onResume()