用“n”位向左移动一个整数数组

时间:2015-08-27 08:46:03

标签: arrays operators solidity

似乎应该可以直接将数组移位/旋转n位。

然而,我正在使用的编程语言(Solidity)没有任何这样的运算符(即没有移位或旋转运算符)......

我有一个无符号的256位整数(它是一个Solidity类型uint256)。

我想知道我是否能以某种方式“手动”进行换档或旋转操作?

我的意思是,执行一系列乘法(*),mod(%)或类似的操作来提供所需的移位和旋转?我知道这可能是非常低效的,但我只需要每小时做一次或两次这样的操作,所以在我的用例中无关紧要。

1 个答案:

答案 0 :(得分:2)

如果没有移位功能,那么你可能需要做一些* 2或更好的系列:

val * [2 ^(班次数)]