编写一个将二进制文件转换为文本的程序c ++ 6

时间:2016-12-13 09:29:45

标签: c++ binary ascii converter

我试图查找我遇到的问题,但似乎没有什么能以我理解的方式回答它们。

所以,我走了:我们有一个十进制文件。我们必须编写一个程序,将其转换为字符(基本上我们需要解码它)。

所以我想做什么:

  1. 编写一个将二进制转换为十进制(已完成)的函数
  2. 编写一个将这些转换后的小数转换为字符
  3. 的函数
  4. 编写主要功能,将它们连接在一起。
  5. 我陷入了第2点。如何编写将十进制转换为ASCII的程序?

    如果我完成了这个,我该如何包含文件nzz.in?我不应该只写

    #include <nzz.in>
    

    然后会包括在内?

1 个答案:

答案 0 :(得分:1)

以下程序将满足您的目的:

让我们有一个名为converters.h的头文件,其内容如下:

/* 
 * File:   converters.h
 * Author: Praveen
 *
 * Created on 13 December 2016, 8:59 PM
 */

#ifndef CONVERTERS_H
#define CONVERTERS_H

int toDecimal(int num) {
    int rem = 0;
    int dec = 0;
    int base = 1;
    while (num > 0) {
        rem = num % 10;
        dec = dec + rem * base;
        base = base * 2;
        num = num / 10;
    }
    return dec;
}

char toChar(int value) {
    return char(value);
}

#endif  /* CONVERTERS_H */

现在让我们定义程序必须运行的文件,名称为testMain.cpp,代码如下:

#include<iostream>

#include "converters.h"

int main() {
    int num;
    std::cout << "Enter the binary number(1s and 0s) : ";
    std::cin >> num;

    int decVal = toDecimal(num);

    std::cout << "The decimal equivalent of " << num << " is : " << decVal << std::endl;

    char charVal = toChar(decVal);
    std::cout << "The character equivalent of " << decVal << " is : " << charVal << std::endl;

    return 0;
}

运行上述程序时的示例输出:

Enter the binary number(1s and 0s) : 1000001
The decimal equivalent of 1000001 is : 65
The character equivalent of 65 is : A

请根据您的要求修改标题文件的名称或程序名称。