有一个存储16进制字符串(除了16进制数之外还有其他内容)的txt文件:
1.提取16进制数,写入到txt文件中;
2.提取出来的16进制数转换为2进制字符串,并写入到txt文件中。
比如,原txt文件内容如下所示,要将其中的16进制数提取出来,并将其转换为2进制存入文件之中。
// ---- --------------------- ---- //
// Generator Matrix for LDPC (1280,1024) //
// ---- --------------------- ---- //
// ---- SuperColumn 1 ---- //
GM3_R1_C1 = 32’h4569b8f3,
GM3_R2_C1 = 32’h523726a1,
GM3_R3_C1 = 32’hf4e0049b,
GM3_R4_C1 = 32’h1c043435,
GM3_R5_C1 = 32’h9963415c,
GM3_R6_C1 = 32’h5695275d,
GM3_R7_C1 = 32’h437cc0a1,
GM3_R8_C1 = 32’h912a3bc8,
GM3_R9_C1 = 32’h482bf8a9,
GM3_R10_C1 = 32’he6f283ec,
GM3_R11_C1 = 32’hd3fc6890,
GM3_R12_C1 = 32’hbaee7dde,
GM3_R13_C1 = 32’hf21b2779,
GM3_R14_C1 = 32’h20f631d7,
GM3_R15_C1 = 32’h0fdb2a7b,
GM3_R16_C1 = 32’he1daeaae,
GM3_R17_C1 = 32’hc7a09bb3,
GM3_R18_C1 = 32’h4662aee9,
GM3_R19_C1 = 32’h30d5fe05,
GM3_R20_C1 = 32’hb384e075,
GM3_R21_C1 = 32’h5e88852a,
GM3_R22_C1 = 32’h39bfbf8c,
GM3_R23_C1 = 32’h3430f8ac,
GM3_R24_C1 = 32’hcd2e01ff,
GM3_R25_C1 = 32’h5cc50bef,
GM3_R26_C1 = 32’hd01dd21b,
GM3_R27_C1 = 32’h284ff145,
GM3_R28_C1 = 32’h7b2b80ab,
GM3_R29_C1 = 32’h27220d57,
GM3_R30_C1 = 32’h5c2dd82b,
GM3_R31_C1 = 32’h07fbfcbb,
GM3_R32_C1 = 32’h7a9fbfa6,
// ---- SuperColumn 2 ---- //
GM3_R1_C2 = 32’h9d5c20bf,
GM3_R2_C2 = 32’hc3c2d8fc,
GM3_R3_C2 = 32’h63029293,
GM3_R4_C2 = 32’hea38302b,
GM3_R5_C2 = 32’h2df43901,
GM3_R6_C2 = 32’h68f496d4,
GM3_R7_C2 = 32’h29e77616,
GM3_R8_C2 = 32’h737c1d0b,
GM3_R9_C2 = 32’h15625165,
GM3_R10_C2 = 32’h6bb52743,
GM3_R11_C2 = 32’h7b28d6a8,
GM3_R12_C2 = 32’h322fa027,
GM3_R13_C2 = 32’h2ca10e6f,
GM3_R14_C2 = 32’h7640119c,
GM3_R15_C2 = 32’ha0fea7fc,
GM3_R16_C2 = 32’h5b3079bc,
GM3_R17_C2 = 32’h20f3faa9,
GM3_R18_C2 = 32’h49b41b82,
GM3_R19_C2 = 32’h44e8b7a5,
GM3_R20_C2 = 32’habf6668c,
GM3_R21_C2 = 32’h040b69b7,
GM3_R22_C2 = 32’hb6563006,
GM3_R23_C2 = 32’ha6a5f7d1,
GM3_R24_C2 = 32’hf250511d,
GM3_R25_C2 = 32’hafaffb7a,
GM3_R26_C2 = 32’h0a93bab3,
GM3_R27_C2 = 32’hc01bb87f,
GM3_R28_C2 = 32’h3054a2c7,
GM3_R29_C2 = 32’h4ca153b4,
GM3_R30_C2 = 32’h84368bb7,
GM3_R31_C2 = 32’h47e9f4f0,
GM3_R32_C2 = 32’h576e3087,
// ---- SuperColumn 3 ---- //
实现的代码如下,其中函数string hex2bin(const string& hex);
是在GitHub上找到的,当时直接复制过来的,具体链接忘记在哪里了。
/
引用文本
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stdexcept>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
string hex2bin(const string& hex);
string hex2bin(const string& hex)
{
string bin;
std::string::const_iterator itr = hex.begin();
while (itr != hex.end()) {
switch (*itr) {
case '0':
bin += "0000"