21xrx.com
2024-12-22 20:44:33 Sunday
登录
文章检索 我的文章 写文章
C++实现进制转换
2023-07-09 13:13:44 深夜i     --     --
C++ 进制转换 整数转换 位运算 字符串操作

C++是面向对象的编程语言,它在计算机编程领域中应用广泛。在编程中,经常需要对不同进制的数字进行转换,例如将十进制转换为二进制、八进制或十六进制等。C++可以轻松地实现这些转换。

首先,将十进制数字转换为其他进制的步骤是将数字不断除以进制数,直到商为0,将每一步得到的余数翻转过来就是转换后的结果。例如,将十进制数字173转换为二进制,步骤如下:

- 173 ÷ 2 = 86 余 1

- 86 ÷ 2 = 43 余 0

- 43 ÷ 2 = 21 余 1

- 21 ÷ 2 = 10 余 1

- 10 ÷ 2 = 5 余 0

- 5 ÷ 2 = 2 余 1

- 2 ÷ 2 = 1 余 0

- 1 ÷ 2 = 0 余 1

将每一步得到的余数翻转过来,我们可以得到:10101101,这就是将十进制数字173转换为二进制的结果。

在C++中,可以使用循环语句实现十进制数字转换为其他进制。以下是一个将十进制数字转换为二进制的例子:


int decimal = 173;

int binary[100], i = 0;

while (decimal > 0) {

  binary[i] = decimal % 2;

  decimal /= 2;

  i++;

}

for (int j = i - 1; j >= 0; j--) {

  cout << binary[j];

}

这段代码首先定义了一个变量decimal,它表示要转换的十进制数字。接着定义了一个数组binary和一个计数器变量i。在while循环中,不断将decimal除以2并取余数,将余数存入数组binary中,并将decimal除以2。循环结束后,数组binary中存储的就是转换后的二进制数字。最后的for循环将数组binary中的元素倒序输出,得到最终结果。

除了将十进制数字转换为其他进制,还可以将其他进制的数字转换为十进制。例如,将二进制数10101101转换为十进制,步骤如下:

- 1 × 2^7 = 128

- 0 × 2^6 = 0

- 1 × 2^5 = 32

- 0 × 2^4 = 0

- 1 × 2^3 = 8

- 1 × 2^2 = 4

- 0 × 2^1 = 0

- 1 × 2^0 = 1

将每一步得到的结果相加,得到十进制数173,这就是将二进制数10101101转换为十进制的结果。

C++中可以使用字符串转换函数将其他进制的数字转换为十进制,例如:


string binary = "10101101";

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

cout << decimal;

这段代码首先定义了一个字符串变量binary,它表示要转换的二进制数字。接着使用函数stoi将字符串binary转换为十进制数字,第二个参数0表示字符串中不包含前缀,第三个参数2表示目标进制为二进制。转换后的结果存储在变量decimal中,并输出到控制台中。

总之,C++是一种强大的编程语言,可以轻松地实现进制转换。无论是将十进制数字转换为其他进制,还是将其他进制的数字转换为十进制,都可以使用C++语言编写高效的代码。

  
  

评论区

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