A. c语言编程(将十六进制字符串转换为十进制整数 )
number=0;
k=0;
for(i=0;s[i]!='\0';i++)
{
ch=s[i];
if(ch>='0'&&ch<='9'||ch>='a'&&ch<='f'||ch>='A'&&ch<='F')
num[k++]=ch;
}
num[k]='\0'
for(i=0 ;num[i]!='\0',i++)
{
ch=num[i];
if(ch>='0'&&ch<='9')
number=numbe*16+ch-'0';
else if(ch>='a'&&ch<='f')
number=number*16+ch-'a';
else if(ch>='A'&&ch<='F')
number=number*16+ch-'A';
}
B. c语言中,将字符转换为十进制的程序
字符转为10进制 用sscanf或者用atoi均可
以字符串中, 本身为10进制字符串为例
用sscanf程序如下:
#include<stdio.h>
intmain()
{
chars[20];
inti;
scanf("%s",s);
sscanf(s,"%d",&i);
printf("%d ",i);
return0;
}
C. 将字符串转换为十进制整数(用C语言)
应该就是这样
#include <stdio.h>
#include <string.h>
int main( )
{
char data[ 1000 ];
int i, t;
scanf("%s", data);
for ( i = 0; i < strlen( data ) - 1; i++ )
{
if ( data[ i ] == '#' )
{
printf("%d\n", t);
t = 0;
}
else
{
if ( data[ i ] >= '0' && data[ i ] <= '9' )
t = t * 10 + data[ i ] - '0';
}
}
return 0;
}
D. C语言中字符串如何转换为二进制、八进制、十进制、十六进制
什么意思,?没懂,,,是说转为 2 8 16进制的整数?
只要是整数 int。就只有大小。没有进制的区别。
所谓的进制,只是为了人为识别。
但是可以把整数,转换为响应进制的字符串。
举例
char num[] = "15";
int val = atoi(num); //字符串转为整数
char tem[16] = {};
_itoa(val,tem,2);//整数转为2进制字符串
_itoa(val,tem,8);//8进制
_itoa(val,tem,16);//16进制
_itoa(val,tem,10);
E. C语言 十六进制字符串转十进制
#include<stdio.h>
#include<string.h>
voidmain()
{
inti=0,j=0,result=0,index=0,cindex=0;
chara[100],b[100],c[4];
gets(a);//输入数据
for(i=0;i<strlen(a);i++)
{
/*将16进制转换成10进制*/
if(a[i]>='a'&&a[i]<='z')
result=result*16+a[i]-'a'+10;
elseif(a[i]>='A'&&a[i]<='Z')
result=result*16+a[i]-'A'+10;
else
result=result*16+a[i]-'0';
/*每两位处理一次*/
if(i%2!=0)
{
cindex=0;
do
{
c[cindex++]=result%10+'0';//倒序存放在c中
result/=10;
}while(result!=0);
for(j=cindex-1;j>=0;j--)//翻转后存放在b中
b[index++]=c[j];
}
}
b[index]='