1. C语言整数运算
C语言的整数类型有:
int,short,long 三种,同时可以冠以unsigned,signed来标识无符号整数及有符号整数。
针对不同的环境,每种类型的长度不同,因此,在不同的机器上,虽然其表征的数值大小由差异,但都有一个区间,只有在此区间的数值,才能用相应的变量继续表示。
如果跨越该数值区间的数据,则系统无法进行运算。
如何在C语言中实现大数据的运算,则需要借助其他方法(数据类型)实现。
C语言的数据类型主要由两类:数值型、字符(串/数组)型。显然如果数值型不能进行处理,只能借助字符型类型进行处理。
在C语言中,单个字符采用char ,多个字符则须采用字符串进行处理,C语言中的字符串则是通过字符数组实现的。
为了便于说明,本例只就整数加法进行示例讲解。
2. 字符运算
char ch=’a’;
ch++; // 字符’a’ 的ascii码值加1,变为’b’的 ascii码
此时,字符变量ch中的字符为’b’;
char ch=’8’;
int val;
val=ch – ’0’; // 此时val的数值为8,字符’8’的ascii码值 - ’0’的ascii码值
int val=1;
char ch;
ch= val +’0’; // ch 的ASCII码值 = 1+’0’的ascii码值 =’1’的ascii码值
// 所以ch 为字符’1’
3. 解决方法
#include “stdio.h”
main()
{
int ival=1234;
char sval=”1234”;
printf(“val=%d\n”, ival);
printf(“val=%s\n”, sval);
}
上述代码,对于1234,采用两种数据类型进行表征,从数据显示而言,没有区别。
从数据展示及存储上,采用字符数组存放数值字符串是可行的,由于字符串没有基于数值的算术运算,因此我们只需要解决两个数字字符串的算术运算即可。
字符相加
针对两个字符’3’,’4’, 其数值对应加法 3+4 ==》7 ,因此我们需要构造’3’+’4’ ==》’7’ 即可
需要进行 :字符 ==》数值 ,数值相加 &#x