c++ - 如何使用按位运算符提取整数中的数字

标签 c++ c bit-shift

如何使用按位运算符从整数中提取数字。即我想在整数 n=123456 中提取 234 我知道这可以使用和,或,xor 按位运算符,但我不确定如何?谢谢

最佳答案

如果此时您不想按位,我相信您可以像这样提取单个数字:

int digitAtPos(int number, int pos)
{
   return ( number / (int)pow(10.0, pos-1) ) % 10;
}

我不确定这是否是最快/最有效的方式,但它确实有效。

将数字拼接起来也应该很容易,只需乘以十的幂次方即可。

如果谁有更好的解决方案,请告诉。

关于c++ - 如何使用按位运算符提取整数中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407289/

相关文章:

c++ - 为什么当我使用 std::string::operator[] 时 auto 变量不会成为引用?

c++ - 如何从字符串中间提取子字符串

c++ - C++ 项目的 Ubuntu 部署问题

c - 在c中的文本文件中逐行文本应用二进制搜索

c - 从指向结构中不同变量的指针访问结构的第一个变量

c++ - 同步来自多个对象的异步调用

c - 如何计算在c中使用fread()读取了多少新行?

c++ - Bitshift - 需要解释才能理解代码

c - 左移运算符

Python 二进制字符串移位