把字符转化成10进制的数字,应该怎么算?

作者&投稿:人炭 (若有异议请与网页底部的电邮联系)
C语言如何将一个数字组成的字符串转变成十进制数~

办法很多,提供三种供参考。
一、直接使用库函数atoi将数字字符串转换成十进制整数。代码如下:
#include "stdio.h"#include "stdlib.h"//调用库函数atoi要包含这个文件int main(int argc,char *argv[]){char a[]="478167831";printf("%d
",atoi(a));//直接调用atoi将a转换为十进制整数return 0;}二、用库函数sscanf直接将数组中的数字字符串读入十进制整型变量。代码如下:
#include "stdio.h"int main(int argc,char *argv[]){char a[]="478167831";int x;sscanf(a,"%d",&x);//调用sscanf,读入时自动转换为int型并由%d控制以十进制赋给变量xprintf("%d
",x);//输出return 0;}三、自行编写转换代码:
#include "stdio.h"int main(int argc,char *argv[]){char a[]="478167831";int x,i;for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字符与数字的关系是"字符值-'0'==同名数字"printf("%d
",x);//输出return 0;}上述三代码的输出结果如下图:

你上面那个好像是十六进制,如果你要把字母转换成十进制数很空易:十进制就是我们下在常的数字号码,比如0-9;而字母是用ASCII码来转换的;ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:   0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。   32~126(共95个)是字符(32sp是空格),其中48~57为0到9十个阿拉伯数字;   65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。另外也可以用自带计算器;开始---程序---附件---计算器--- 查看--标准换成科学的;

atoi库函数只能将十进制字符串转化为int整形,比如下面的例子:
#include
<stdlib.h>
#include
<stdio.h>//atoi头文件

int
main(void)
{

int
n;

char
*str
=
"12345.67";

n
=
atoi(str);
//int
atoi(const
char
*nptr);

printf("string
=
%s
integer
=
%d\n",
str,
n);

return
0;
}
/*输出:

string
=
12345.67
integer
=
12345


求C程序:输入字符型16进制,以回车结束,转换输出10进制
i]&&a[i]<='9'||'A'<=a[i]&&a[i]<='F'){ i++;scanf("%c",&a[i]);} n=1;while(--i>=0){ if('0'<=a[i]&&a[i]<='9')s+=(a[i]-'0')*n;if('A'<=a[i]&&a[i]<='F')s+=(a[i]-'A'+10)*n;n*=base;} printf("%ld\\n",s);return 0;} ...

关于转义字符换算成十进制值
这些都属于转义字符,查一查C语言的转义字符表即可,这是C语言中规定,并不是计算得来的 \\r 013 回车符 \\t 09 水平制表符 \\v 011 垂直制表符 \\n 010 换行符 也可以通过C程序输出它们的十进制值,例如:printf("%d",'\\r');参考资料:语言 ...

字符串转10进制数
用一个sscanf函数可轻松实现,写成调用函数形势如下,也可直接把sscanf写在主程序中更精简些 include <stdio.h> typedef unsigned long ul;ul htoi(const char* szHex){ ul temp;sscanf(szHex, "%x", &temp);return temp;} int main(){ char szHex[16];printf("Enter a hexadecimal string: ...

如何将一个字符编码成10位二进制
10中不同的字符用三进制表示的话分别对应的编码应该为0、1、20、21、220、221、2220、2221、22220、22221 为了使得编码总长度最少,那么频率最高的应该选择编码长度最短的编码 因此J(35)选择编码0,35*1=35 F(23)选择编码1,23*1=23 H(11)选择编码20,11*2=22 G(9)选择编码21,9*...

16进制字符串例如"14"如何转换为10进制整数20?
因为是16进制,所以,它的十位数就代表了16,而不是我们十进位的10,所以14=1X16+4=20

java 字符串转化为十进制
不知道你准确的用意.如果只是想把字符串转换成十进制的,你可以把字符串先转换为字节数组,再把字节转成十进制的就行了 for(byte b:"mann".getBytes()){ System.out.print(b);}

c#字符串分割后,如何转换成10进制
Convert.ToInt32("CC", 16)转成10进制,存为字符串就ok

如何将一个16进制字符串转化成10进制字符串
比如有一个十六进制B4AC 在十六进制中C=12,A=10,B=11 从最后的C位开始算 首先用12*16^0+10*16^1+4*16^2+11*16^3 =12+160+1024+45056=46252 第一位乘以16的0次方,第二位16的1次方,第三位16的2次方,第四位就这样推算下去。然后就ok了。

...组成的字符串(字符串长度小于8),将该字符串转换成一个十进制的...
include "stdio.h"main(){ char s[10]; int i;long int n=0;\/***found***\/ scanf("%s",s);\/***found***\/ for(i=0;s[i]!='\\0';i++)n=n*10+s[i]-'0';printf("n=%ld\\n",n);}

请各位高手帮忙吧,VC++中,如何将16进制的字符转换成有符号的10进制整数...
(5). E=oct(10) 返回12 (6). F=oct(23) 返回27 (7). G=Cint(&H17) 返回23 (8) . H=Cint(&O12) 返回10 以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按...

市中区18096266943: C语言如何将一个数字组成的字符串转变成十进制数 -
厍刷司巴: 办法很多,提供三种供参考. 一、直接使用库函数atoi将数字字符串转换成十进制整数.代码如下: #include "stdio.h" #include "stdlib.h"//调用库函数atoi要包含这个文件 int main(int argc,char *argv[]){char a[]="478167831";printf("%d\n",...

市中区18096266943: 用c语言编程:将一个8进制的字符串转化为十进制的数. -
厍刷司巴: #include <stdio.h> #include <string.h>int main() {int l,i,num=1,sum=0;char a[100];puts("input(以大写字母为标准):");gets(a);l=strlen(a);for(i=1;i<=l;++i){if(a[l-i]>'7'||a[l-i]<'0'){puts("输入有误");exit(0);}sum=sum+(a[l-i]-'0')*num;num*=8;}printf("%d\n",sum); }

市中区18096266943: 从键盘输入字符(例如1),转换成十进制数(即1),并输出 -
厍刷司巴: #include<stdio.h> void main(void) { char ch; int d; printf("input the data:\n"); scanf("%c\n",&ch);

市中区18096266943: 如何把一个十六进制的字符串转换成十进制的数值 -
厍刷司巴: 十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方; 在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)=13 e(E)=14 f(F)=15 所以CE=12*16^1+14*16^0=192+14=206

市中区18096266943: 如何将字符转换成十进制输出 -
厍刷司巴: 使用分支语句do case

市中区18096266943: 二进制数值如何转换成十进制的数值 -
厍刷司巴: 二、各种数制间的转换 由于不同的进位计数制所用的数字个数是不相同的.利用上表能较方便地对不同数制的数进行转换.1.二进制转换成十进制 任何一个二进制数的值都用它的按位权展开式表示.例如:将二进制数(10101.11)2转换成...

市中区18096266943: 怎么将一个字符型的数字转化成十进制的数字,如 char a=3;将它转化成int型数字3 -
厍刷司巴: #include void main() { char a = '3'; int i = atoi(&a); std::cout} 希望对你有帮助,有啥问题,可以互相交流!

市中区18096266943: 怎么把一个字符串转换成10进制或者16进制 -
厍刷司巴: 你装一个UltraEdit,然后新建一个文件,转换为十六进制模式,在左边的地方输入上面的16进制字符,如果是ASCII码,右边区域立刻显示,如果是汉字,切换回10进制模式才可以显示.

市中区18096266943: C++,怎么把字符转换成数字 -
厍刷司巴: 一、可以用C++的stringstream. 主要原因是操作简单. 数字转字符串,int float类型 同理 字符串转数字,int float类型 同理 二、使用sprintf()函数 char str[10]; int a=1234321; sprintf(str,”%d”,a); char str[10]; double a=123.321; sprintf(str,...

市中区18096266943: 如何将16进制字符串转化成10进制输出 -
厍刷司巴: 算法:用变量a存放转换结果,赋初值为0逐一取得字符串每个字符:从头一直取字符,直到遇到0为止每取得一个字符:-变量a自乘16-判断字符是否数字字符,如果是数字字符则直接转换成数值-否则,判断字符是否小写字母a~f,如果是转成10...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网