c++怎么将txt里的16进制还原? c语言10进制转16进制
如何用Matlab将txt中的许多16进制数转化为10进制数
%%%%%%16进制转10进制 转化方法一%%%%%%%%%%%%
a=textread('c:\a.txt','%s')';%以字符形式打开文件
alpha=hex2dec(a)'; %16进制转化为10进制数,存入alpha矩阵
%%%%%%%16进制转10进制 转化方法二%%%%%%%%%%%
[wenjian_ming,lujing_ming] = uigetfile('c:\a.txt','导入数据');
fid=fopen(strcat(lujing_ming,wenjian_ming),'r');
data=[];
while ~feof(fid)
m=fscanf(fid,'%3x',[1 inf]);
data=[data;m]; %将读出的数据存入data矩阵中
end
alpha=data;
%%%%%%%保存文件方法一%%%%%%%%%%%%%%
dlmwrite('c:\b.txt',alpha,'delimiter', ' ') %将得出数据存入新的b.txt文档
%%%%%%%保存文件方法二%%%%%%%%%%%%%%
fid=fopen('c:\d.txt','w');
fprintf(fid,'%d ',alpha');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
alpha2=alpha(1:2:length(alpha)-mod(length(alpha)+1,2)); %将奇数元素提取出来
dlmwrite('c:\c.txt',alpha2,'delimiter', ' ') %将得出数据存入新的c.txt文档
%%%%%%%画图%%%%%%%%%%%%%%
plot(1:length(alpha2),alpha2) %画图
c#中怎样将16进制转换成十进制
1、Convert.ToInt32("FF", 16)
2、如果转换的数值太大防止溢出也可Convert.ToInt64("数值", 16)
3、第三种
/// <summary>
/// 十六进制换算为十进制
/// </summary>
/// <param name="strColorValue"></param>
/// <returns></returns>
public static int GetHexadecimalValue(String strColorValue)
{
char[] nums = strColorValue.ToCharArray();
int total = 0;
try
{
for (int i = 0; i < nums.Length; i++)
{
String strNum = nums[i].ToString().ToUpper();
switch (strNum)
{
case "A":
strNum = "10";
break;
case "B":
strNum = "11";
break;
case "C":
strNum = "12";
break;
case "D":
strNum = "13";
break;
case "E":
strNum = "14";
break;
case "F":
strNum = "15";
break;
default:
break;
}
double power = Math.Pow(16, Convert.ToDouble(nums.Length - i - 1));
total += Convert.ToInt32(strNum) * Convert.ToInt32(power);
}
}
catch (System.Exception ex)
{
String strErorr = ex.ToString();
return 0;
}
return total;
}
VC怎样把字符转换成16进制ASKII码
// 10进制转换为其他进制(不大于16进制),数制转换
#include <iostream>
using namespace std ;
void main()
{
char b[17]="0123456789ABCDEF";
int i=0,h,n,c[10];int m;char mc;
cout<<"输入类型:字符按0;十进制数按1"<<endl;
cin>>m;
if(m){
cout<<"输入一个十进制数:";
cin>>m;
}else{
cout<<"输入一个字符:";
cin>>mc;
m=mc;
}
cout<<"输入要转换为几进制:";
cin>>h;
do{
c[i++]=m%h;
}while((m=m/h)!=0);
cout<<"得到"<<h<<"进制数为:";
for(--i;i>=0;--i)
{
n=c[i];
cout<<b[n];
}
cout<<endl;
}
c语言中16进制转换为十进制
最简单的使用scanf()函数和printf()函数进行格式转换,以16进制格式输入,再以10进制格式输出。
程序代码如下:
#include<stdio.h>
int main()
{
int a=0;
int i=0;
scanf("%x",&a);
printf("%d",a);
return 0;
}
运行结果:
扩展资料:
scanf函数与printf函数的用法很像,都是以格式化的形式进行操作,例如上述程序中scanf("%x", &a);就是将输入数据以十六进制格式存储到变量a中。
"%x"是将字符串A23CD以十六进制形式输入a中,如果将"%x"换成为"%d"的话,就是将字符串A23CD以十进制形式输入a中,这显然是错误的,因为将A23CD转换为十进制的时候,无法解析A,CD等字符,所以得出的结果就是错误的。