假设您不知道数字有多大或其数据类型,是否有一种有效的方法可以在 C++/Python 中删除数字的第一位?
我知道在 Python 中我可以通过获取 bin(n),将字符串截断 1,然后将其重新转换为 int 来实现,但我很好奇是否有更“数学”的方法来做到这一点。
例如,假设数字是 6,即二进制的 110。砍掉第一位,它变成 10 或 2。
for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it)
Run Code Online (Sandbox Code Playgroud)
错误:从'std :: vector :: const_iterator {aka __gnu_cxx :: __ normal_iterator>}'转换为非标量类型'std :: vector :: iterator {aka __gnu_cxx :: __ normal_iterator>}'
这是怎么回事?