我正在制作一个程序,该程序通过代表字符串“APPLE”的每个字符的相应 ASCII 数字将用户输入的字符串(例如“APPLE”)转换为二进制数。例如 ascii 中的 A = 65 等。我创建了一个将字符串转换为二进制文件的函数,但它似乎不起作用。它在无限循环中显示“等效二进制数是:0031F240for A”,并给我“0031F240for”而不是二进制版本 65。我知道这个函数适用于将十进制数转换为二进制,因为我已经尝试过了,但我认为我的 bin[] 数组的实现搞砸了。任何帮助,将不胜感激。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include <fstream>
using namespace std;
class RandomString
{
private:
string input;
string bin[100];
public:
RandomString() : bin(), input("")
{
}
void getData()
{
cout << "Enter the word to be encoded into a binary file.";
cin >> input;
}
void numToBin()
{
int i = 0;
int len = input.length();
int num = int(input[i]);
for(int i = 0; i < len; i++)
{
while(num != 0)
{
if (num % 2 == 0)
bin[i].insert(0, "0");
else
bin[i].insert(0, "1");
num = num / 2;
cout << "The equivalent binary number is: " << bin << "for " << input[i] << endl;
}
}
}
void display()
{
}
};