21xrx.com
2025-03-29 05:42:22 Saturday
文章检索 我的文章 写文章
C++实现数组代表十进制转换为其他进制
2023-06-22 12:32:10 深夜i     14     0
C++ 数组 十进制 转换 进制

在计算机科学中,将数字转换为其他进制是一项重要的基本技能。C++作为一种常见的编程语言,提供了一种方便快捷的方式来实现这种转换。

在C++中,我们可以使用数组来代表一个十进制数,并将其转换为其他进制。下面是一些示例代码,演示如何将一个十进制数转换为二进制、八进制以及十六进制:

#include<iostream>
using namespace std;
int main(){
  int num = 55; // 代表十进制数55
  int bin[50]; // 二进制数组
  int oct[50]; // 八进制数组
  char hex[50]; // 十六进制数组
  int i = 0; // 用于迭代数组的变量
  // 将num转换为二进制(计算值并倒序排列)
  while(num != 0){
    bin[i] = num % 2;
    num = num / 2;
    i++;
  }
  cout << "二进制:";
  for(int j = i - 1; j >= 0; j--){
    cout << bin[j];
  }
  cout << endl;
  // 将num转换为八进制(计算值并倒序排列)
  num = 55;
  i = 0;
  while(num != 0){
    oct[i] = num % 8;
    num = num / 8;
    i++;
  }
  cout << "八进制:";
  for(int j = i - 1; j >= 0; j--){
    cout << oct[j];
  }
  cout << endl;
  // 将num转换为十六进制(计算值并倒序排列)
  num = 55;
  i = 0;
  while(num != 0){
    int temp = 0;
    temp = num % 16;
    if(temp < 10){
      hex[i] = temp + 48;
    } else {
      hex[i] = temp + 55;
    }
    num = num / 16;
    i++;
  }
  cout << "十六进制:";
  for(int j = i - 1; j >= 0; j--){
    cout << hex[j];
  }
  cout << endl;
  return 0;
}

在上面的代码中,我们首先定义了一个整数变量`num`,代表所要转换的十进制数。然后,我们定义了三个不同进制的数组:`bin`、`oct`和`hex`。`bin`和`oct`是使用整型数组定义的,而`hex`使用字符型数组。我们还定义了一个变量`i`,用于在数组中迭代。

接下来,我们使用一个`while`循环将`num`转换为二进制、八进制和十六进制。在循环体内,我们使用模运算和除法运算来计算分配给相应进制的数字,并将其存储在数组中。例如,在转换为十六进制时,我们需要计算每个数字的值,并用十六进制格式将其存储在数组中。

最后,我们使用`for`循环遍历数组并倒序输出每个数字。这就是将十进制转换为其他进制的基本过程。

总之,在C++中使用数组来代表十进制和实现进制转换是一项有用的技能,它有助于加深我们对计算机科学中数字表示和转换的基本理解。

  
  

评论区