C 语言char类型与int类型的转化
char和int的转换有两种方式,这两种方式适合于在输出时使用
一、char转int
法一:直接转换
最简单的方法就是利用ASSCII码的差值,直接用char的值减去‘0’就行了 eg:char a = '9';int A = a-'0';另一个就是要利用c语言的库函数来解决
ASSCII编码表
二进制 | 十进制 | 十六进制 | 缩写 | 可以显示的表示法 | 名称/意义 |
0000 0000 | 0 | 00 | 无效的 | ␀ | 空字符(Null) |
0000 0001 | 1 | 01 | 索氏 | ␁ | 标题开始 |
0000 0010 | 2 | 02 | 星火 | ␂ | 本文开始 |
0000 0011 | 3 | 03 | ETC | ␃ | 本文结束 |
0000 0100 | 4 | 04 | 终止时间 | ␄ | 传输结束 |
0000 0101 | 5 | 05 | ENQ | ␅ | 请求 |
0000 0110 | 6 | 06 | 确认 | ␆ | 确认回应 |
0000 0111 | 7 | 07 | 比利时 | ␇ | 响铃 |
0000 1000 | 8 | 08 | 学士学位 | ␈ | 退格 |
0000 1001 | 9 | 09 | 高温 | ␉ | 水平定位符号 |
0000 1010 | 10 | 0A | 低频 | ␊ | 换行键 |
0000 1011 | 11 | 0B | 室性心动过速 | ␋ | 垂直定位符号 |
0000 1100 | 12 | 0℃ | FF | ␌ | 换页键 |
0000 1101 | 十三 | 0D | 碳排放 | ␍ | 归位键 |
0000 1110 | 14 | 0E | 所以 | ␎ | 取消变换(Shift out) |
0000 1111 | 15 | 0F | 和 | ␏ | 启用变换(Shift in) |
0001 0000 | 16 | 10 | 分布式LE | ␐ | 跳出数据通讯 |
0001 0001 | 17 | 11 | 直流1 | ␑ | 设备控制一(XON 启用软件速度控制) |
0001 0010 | 18 | 12 | 直流2 | ␒ | 设备控制二 |
0001 0011 | 19 | 十三 | DC3 | ␓ | 设备控制三(XOFF 停用软件速度控制) |
0001 0100 | 20 | 14 | 直流4 | ␔ | 设备控制四 |
0001 0101 | 21 | 15 | 想 | ␕ | 确认失败回应 |
0001 0110 | 22 | 16 | 同步 | ␖ | 同步用暂停 |
0001 0111 | 23 | 17 | 乙肝疫苗 | ␗ | 区块传输结束 |
0001 1000 | 24 | 18 | 能 | ␘ | 取消 |
0001 1001 | 二十五 | 19 | 在 | ␙ | 连接介质中断 |
0001 1010 | 二十六 | 1A | 子 | ␚ | 替换 |
0001 1011 | 二十七 | 1B | ESC键 | ␛ | 跳出 |
0001 1100 | 二十八 | 1C | FS | ␜ | 文件分割符 |
0001 1101 | 二十九 | 一维 | GS | ␝ | 组群分隔符 |
0001 1110 | 三十 | 1E | 遥感 | ␞ | 记录分隔符 |
0001 1111 | 31 | 1F | 我们 | ␟ | 单元分隔符 |
0111 1111 | 127 | 7楼 | 的 | ␡ | 删除 |
ASCII可显示字符
二进制 | 十进制 | 十六进制 | 图形 |
0010 0000 | 三十二 | 20 | (空格)(␠) |
0010 0001 | 33 | 21 | ! |
0010 0010 | 三十四 | 22 | “ |
0010 0011 | 三十五 | 23 | # |
0010 0100 | 三十六 | 24 | $ |
0010 0101 | 三十七 | 二十五 | % |
0010 0110 | 三十八 | 二十六 | & |
0010 0111 | 三十九 | 二十七 | ‘ |
0010 1000 | 40 | 二十八 | ( |
0010 1001 | 41 | 二十九 | ) |
0010 1010 | 四十二 | 2A | * |
0010 1011 | 43 | 2B | + |
0010 1100 | 四十四 | 2C | , |
0010 1101 | 四十五 | 二维 | - |
0010 1110 | 四十六 | 2E | 。 |
0010 1111 | 四十七 | 2F | / |
0011 0000 | 四十八 | 三十 | 0 |
0011 0001 | 49 | 31 | 1 |
0011 0010 | 50 | 三十二 | 2 |
0011 0011 | 51 | 33 | 3 |
0011 0100 | 52 | 三十四 | 4 |
0011 0101 | 53 | 三十五 | 5 |
0011 0110 | 54 | 三十六 | 6 |
0011 0111 | 55 | 三十七 | 7 |
0011 1000 | 56 | 三十八 | 8 |
0011 1001 | 57 | 三十九 | 9 |
0011 1010 | 58 | 3A | : |
0011 1011 | 59 | 3B | ; |
0011 1100 | 60 | 3C | < |
0011 1101 | 61 | 3D | = |
0011 1110 | 62 | 3E | > |
0011 1111 | 63 | 3F | ? |
0100 0000 | 64 | 40 | @ |
0100 0001 | 65 | 41 | 一个 |
0100 0010 | 66 | 四十二 | 乙 |
0100 0011 | 67 | 43 | 碳 |
0100 0100 | 68 | 四十四 | 德 |
0100 0101 | 69 | 四十五 | 和 |
0100 0110 | 70 | 四十六 | F |
0100 0111 | 71 | 四十七 | 格 |
0100 1000 | 72 | 四十八 | 赫 |
0100 1001 | 73 | 49 | 我 |
0100 1010 | 74 | 4A | J |
0100 1011 | 75 | 4B | 钾 |
0100 1100 | 76 | 4C | 大号 |
0100 1101 | 77 | 4D | 米 |
0100 1110 | 78 | 4E | 否 |
0100 1111 | 79 | 4楼 | 这 |
0101 0000 | 80 | 50 | 磷 |
0101 0001 | 81 | 51 | 问 |
0101 0010 | 82 | 52 | R |
0101 0011 | 83 | 53 | 年代 |
0101 0100 | 84 | 54 | 电视 |
0101 0101 | 85 | 55 | 在 |
0101 0110 | 86 | 56 | V |
0101 0111 | 87 | 57 | 在 |
0101 1000 | 88 | 58 | 十 |
0101 1001 | 89 | 59 | 和 |
0101 1010 | 90 | 5A | 和 |
0101 1011 | 91 | 5B | [ |
0101 1100 | 92 | 5C | |
0101 1101 | 93 | 5D | ] |
0101 1110 | 94 | 5E | ^ |
0101 1111 | 95 | 5F | _ |
0110 0000 | 96 | 60 | ` |
0110 0001 | 97 | 61 | 一个 |
0110 0010 | 98 | 62 | b |
0110 0011 | 99 | 63 | 丙 |
0110 0100 | 100 | 64 | d |
0110 0101 | 101 | 65 | 和 |
0110 0110 | 102 | 66 | f |
0110 0111 | 103 | 67 | 克 |
0110 1000 | 104 | 68 | 时长 |
0110 1001 | 105 | 69 | 我 |
0110 1010 | 106 | 6A | 杰 |
0110 1011 | 107 | 6B | 钾 |
0110 1100 | 108 | 6C | 升 |
0110 1101 | 109 | 6D | 米 |
0110 1110 | 110 | 6E | n |
0110 1111 | 111 | 6楼 | 这 |
0111 0000 | 112 | 70 | 页 |
0111 0001 | 113 | 71 | 问 |
0111 0010 | 114 | 72 | r |
0111 0011 | 115 | 73 | s |
0111 0100 | 116 | 74 | 吨 |
0111 0101 | 117 | 75 | 在 |
0111 0110 | 118 | 76 | v |
0111 0111 | 119 | 77 | 在 |
0111 1000 | 120 | 78 | 十 |
0111 1001 | 121 | 79 | 和 |
0111 1010 | 122 | 7A | 和 |
0111 1011 | 123 | 7B | { |
0111 1100 | 124 | 7C | | |
0111 1101 | 125 | 7D | } |
0111 1110 | 126 | 7E | ~ |
法二:利用库函数转换
(1)字符串转换成数字,用atoi,atol,atof,分别对应的是整型,long型,double
字符str[]=“1234”;
int a=atoi(str);
拖车
功 能: 把字符串转换成整型数,可以将一个字符数组转化为整型
函数说明: atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 � 时停止转换,返回整型数。
原型: int atoi(const char *nptr);
头文件: #include <stdlib.h>
执行结果
字符串 = 12345.67 整数 = 12345
二、数字换成字符串
1、用sprintf
2、用库函数
功 能:把一整数转换为字符串
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,介于2-36,比如10表示10进制
* string: 保存转换后得到的字符串。返回值:
char * : 指向生成的字符串, 同*string。头文件:"stdlib.h"
当编译器不支持时候就要自己实现,自己实现的函数使用