我想在不使用除法的情况下去掉一个数字的一些零。(从1000到10)。我检查了操作数<<我知道这只适用于位移位,但我想知道是否有一种方法可以使用固态移位来做到这一点?
你不能。
solidity可以做的所有事情都可以有效地直接映射到以太坊EVM操作代码(在这里列出:EVM .codes/)。唯一列出的移位操作是针对二进制位的。如果目标是节省气体,那么在unchecked
块内乘以或除以10(但要确保不会有下溢和溢出的问题)。