假设我在matlab工作区中有一个1x32双数组输入。此变量具有所有正的十进制值。我想每个值转换为十六进制&其存储在另一个数组输出
我使用DEC2HEX(输入)&它生成的字符串以十六进制值。现在,我想要一个十六进制数字而不是字符串的数组。
如何将十六进制字符串转换为1x32 输出的十六进制数组
如果我使用str2num或str2double,则分别给出空和NaN?
怎么做
我有一个文本文件,用于存储复数的实部和虚部,在一个单独的列中一个接一个地存储。即。每个奇数条目都是真实的,每个偶数条目都是虚构的。我想读取这些值并使用c ++中的复杂类制作一个复数,但很难分配实部和虚部。
这是我的代码
#include <iostream>
#include <complex>
#include <cstdlib>
#include <fstream>
using namespace std;
int main()
{
ifstream fp_data;
int i=0;
double data=0;
complex<double> Complex_Signal[10];
fp_data.open("Complex_data.txt");
if (!fp_data)
{
cout << "Unable to open file" << endl;
exit(1); // terminate with error
}
while (fp_data >> data)
{
switch(i%2)
{
case 0: Complex_Signal[i].real() = data;
break;
case 1: Complex_Signal[i].imag() = data;
break;
}
i++;
}
fp_data.close();
for(i=0; i<10; i++)
{
cout << Complex_Signal[i] << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我收到 …
所以,我在这个网站上看到c ++不允许变长数组但gcc允许它.所以,我想测试一个小代码
#include<stdio.h>
#include<stdint.h>
void main()
{
int8_t n;
int8_t var_array[n];
int8_t i;
printf("Enter array size: \r\n");
scanf("%d", &n);
for(i=0; i<n; i++)
var_array[i] = i;
for(i=0; i<n; i++)
printf("var_array[%d] = %d\r\n", i, var_array[i]);
}
Run Code Online (Sandbox Code Playgroud)
代码在linux OS中用"gcc var_array.c -o var_array"命令编译但是当我运行它时,我得到分段错误错误
Enter array size:
5
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?