21xrx.com
2024-11-22 07:17:40 Friday
登录
文章检索 我的文章 写文章
C++ 二进制转十进制:实现方法大全
2023-06-30 13:16:34 深夜i     --     --
C++ 二进制 十进制 实现方法 大全

C++ 语言是一门强大的编程语言,可以用于各种各样的程序开发。其中,二进制转十进制是常见的一种需求。在本文中,我们将介绍实现二进制转十进制的各种方法。

方法一:使用库函数

C++ 提供了一个十分方便的库函数,可以直接将二进制转换为十进制。这个函数就是 stoi(),它接受一个字符串参数和一个进制数参数,返回对应进制下的十进制整数。

例如:

string binary = "10101010";

int decimal = stoi(binary, nullptr, 2);

在这个例子中,二进制字符串 "10101010" 被转成了十进制整数 170。

方法二:使用位运算

C++ 中可以使用位运算实现二进制转十进制。具体来说,可以使用位运算符 “<<” 和 “|” 将每一位二进制数加起来。

例如:

int binary = 10101010;

int decimal = 0;

int base = 1;

while(binary > 0) {

  int last_bit = binary % 10;

  binary /= 10;

  decimal += last_bit * base;

  base <<= 1;

}

在这个例子中,二进制整数 10101010 被转成了十进制整数 170。

方法三:使用指针

C++ 中也可以使用指针实现二进制转十进制。具体来说,可以使用指针对二进制数进行逐位遍历,然后计算得到十进制数。

例如:

int binary =10101010;

int* ptr = &binary;

int decimal = 0;

int base = 1;

while(ptr > 0) {

  decimal += (*ptr % 10) * base;

  base *= 2;

  ptr /= 10;

}

在这个例子中,二进制整数 10101010 被转成了十进制整数 170。

综上所述,C++ 中有多种实现二进制转十进制的方法,每一种方法都有其独特的使用场景和优劣条件。在实际应用中,我们可以根据实际需要选择合适的方法进行实现。

  
  
下一篇: C++ API Hook技术

评论区

{{item['qq_nickname']}}
()
回复
回复