当前位置:首页 » 编程语言 » c语言字符串转十进制
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言字符串转十进制

发布时间: 2022-02-23 03:43:28

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]='';//加上串结束符
puts(b);//输出
}

测试结果:

F. 关于c语言编程,16进制表示的字符串转成10进制的

这个就是一个16进制数转10进制的程序
先以字符串方式逐字符读入16进制数
然后对每个读入的字符依次做判断
t=s[i]-'0' //临时变量t为当前判断的字符串的ASCII码值减去字符'0'的ASCII码值,这一步的作用是将字符型转换为整型以供计算
if(t<=9) k=k*16+s[i]-'0' //如果t≤9,说明原字符为'0'~'9',转换后直接得到对应数字0~9,因此直接将这个数字转换为十进制即可:k=k*16+s[i]-'0'即将当前位转换为十进制
else k=k*16+s[i]-'A'+10 //如果t>9,说明原字符为'A'~'F',转换后不能得到对应数字,必须通过s[i]-'A'+10把字符'A'~'F'转换为数字10~15,再逐位转换为十进制。

G. c语言中如何将8进制字符串转化成10进制

先化为二进制,再化成十进制,不对弄错了,这不是C语言,用printf(“%d",a)输出十进制,printf(”%o",a)输出八进制,printf(”%x",a)输出十六进制

H. c语言中如何将16进制字符串转化成10进制整数

1、输入字符串
3、反转字符串,并赋给字符串数组A
2、循环检测数组A,依次检测1每个字符
5、判断当前检测的字符,如果属于ABCDEF,则依次把ABCDEF
转换为11....16,否则不做任何操作
6、累加,当前循环次数的16次方乘以当前字符的数值大小。
7、输出总累加值就是10进制整数

I. C语言,把数字字符转换成十进制整数。

#include<cstdio>
intmain()
{
chara;
scanf("%c",&a);
printf("%d",a-'0');
return0;
}