似乎应该可以直接将数组移位/旋转n
位。
然而,我正在使用的编程语言(Solidity)没有任何这样的运算符(即没有移位或旋转运算符)......
我有一个无符号的256位整数(它是一个Solidity类型uint256
)。
我想知道我是否能以某种方式“手动”进行换档或旋转操作?
我的意思是,执行一系列乘法(*
),mod(%
)或类似的操作来提供所需的移位和旋转?我知道这可能是非常低效的,但我只需要每小时做一次或两次这样的操作,所以在我的用例中无关紧要。
答案 0 :(得分:2)
如果没有移位功能,那么你可能需要做一些* 2或更好的系列:
val * [2 ^(班次数)]