采用txt文件读写方式进行,将16进制字符串转换为2进制字符串

这篇博客介绍了如何从包含16进制数的txt文件中提取数值,并使用C++将这些16进制数转换成2进制字符串,再写入新的txt文件。示例内容包括LDPC生成矩阵中的16进制数据转换过程。
摘要由CSDN通过智能技术生成

有一个存储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"
### 回答1: LabVIEW中的二进制字符串转换可以使用内置的函数来实现。在LabVIEW中,可以使用“Binary String to Number”函数将二进制字符串转换为数字,或者使用“Number to Binary String”函数将数字转换为二进制字符串。 要将二进制字符串转换为数字,可以按照以下步骤进行: 1. 将二进制字符串作为输入传递给“Binary String to Number”函数。 2. 选择适当的输出类型,如整数或浮点数。 3. 单击“运行”按钮或通过适当的触发器来执行转换。 4. 输出该函数生成的数字变量。 要将数字转换为二进制字符串,可以按照以下步骤进行: 1. 将数字作为输入传递给“Number to Binary String”函数。 2. 选择适当的输出类型,例如8位或16位二进制字符串。 3. 单击“运行”按钮或通过适当的触发器来执行转换。 4. 输出该函数生成的二进制字符串变量。 请注意,在执行二进制字符串转换之前,需要确保提供的字符串或数字是有效的二进制表示。如果提供的字符串或数字无效,转换过程可能会失败。 LabVIEW的二进制字符串转换功能非常灵活,可以根据需要进行定制和扩展。通过使用适当的函数和参数,可以实现从不同类型的二进制字符串转换为数字,并根据需要进行格式化和处理。 希望以上回答对您有所帮助! ### 回答2: LabVIEW是一种流程图编程语言和开发环境,用于实现各种工程和科学应用。在LabVIEW中,二进制字符串转换涉及将二进制数据与字符串之间相互转换。 在LabVIEW中,可以使用字符串和二进制数据之间的转换函数来实现这种转换。 要将二进制数据转换字符串,可以使用LabVIEW中的NumToStr函数。此函数可以将二进制数据转换为十进制,然后将其转换字符串。您可以指定输出字符串的格式,如十六进制或二进制。 要将字符串转换为二进制数据,可以使用LabVIEW中的StrToNum函数。此函数可以将字符串解析为数字,并将其转换为二进制数据。同样地,您可以指定输入字符串的格式,如十六进制或二进制。 除了NumToStr和StrToNum函数之外,LabVIEW还提供了其他一些函数来处理二进制字符串转换。例如,可以使用位操作函数来将二进制字符串转换为二进制数组,然后进行进一步的处理或分析。 LabVIEW还提供了许多功能强大的工具箱和工具,可帮助用户更灵活地处理二进制字符串转换。这些工具包括比特操作、字符串操作、二进制文件读写等。 总之,LabVIEW是一个强大且灵活的工具,用于实现二进制字符串转换。无论是将二进制数据转换字符串,还是将字符串转换为二进制数据,LabVIEW都提供了丰富的函数和工具,使用户可以轻松地完成转换任务。 ### 回答3: LabVIEW中可以使用一些函数来实现二进制字符串转换。下面是一个示例: 1. 使用字符串到二进制函数(String To Binary)将二进制字符串转换为二进制数组,可以设置二进制格式为8位或16位。这个函数将二进制字符串转换为二进制数值数组,每个元素都代表一个二进制位。 2. 如果要将二进制数组转换为十进制数值,可以使用二进制到十进制函数(Binary To Decimal)。这个函数将二进制数组转换为代表十进制数值的数组。 3. 如果要将十进制数组转换为十六进制字符串,可以使用十进制到十六进制函数(Decimal To Hexadecimal)。这个函数将十进制数组转换为十六进制字符串数组。 4. 如果要将十六进制字符串转换为十进制数组,可以使用十六进制到十进制函数(Hexadecimal To Decimal)。这个函数将十六进制字符串数组转换为十进制数值数组。 以上是LabVIEW中一些常用的二进制字符串转换方法。通过使用这些函数,可以方便地进行二进制字符串和其他进制数值之间的转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值