字符与数字的相互转换

简介: 字符与数字的相互转换

一、字符转数字

char类型字符转换为数字,其实是转换为ASCII码值

有两种方式:

1.强制类型转换,结果为对应的ASCII码值

char v1 = 'a';
 char v2 = 'z';
 char v3 = '1';
 char v4 = '9';
 int num1 = (int)v1;
 int num2 = (int)v2;
 int num3 = (int)v3;
 int num4 = (int)v4;
 printf("%d %d %d %d\n", num1, num2, num3, num4);

运行结果

2.字符相减得到ASCII码的差值

字符减去字符得到的是它们ASCII码的差值(字符减去字符本身是0,再加上所需数字即可)

举例1:

将字符A~Z分别置为1~26,因为字符A减去字符A的结果是0,再加1即可将字符A置为1,将字符A作为根基。其他所有字母由于ASCII码值比字符A大,也都减去字符A再加1即可得到相对应的数字。

char arr[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < strlen(arr); i++)
{
    printf("%d ", arr[i] - 'A' + 1);
}

举例2:

将字符型数字转换为对应的整型数字,只需要将字符型数字减去 ‘0’,因为他们的ASCII码差值正好是对应的整型数字值

int v1 = '1' - '0';
int v2 = '2' - '0';
printf("%d %d", v1, v2);

整型数字转字符型数字:+ ‘0’

二、数字转字符

1.加上某字符

数字加上某字符可以理解为某字符加上该数字,其实就是在该字符的ASCII码值加上数字,结果就是新的ASCII码值对应的字符

举例1:

将数字转换为对应的字符数字,只需加上字符‘0’即可

char v1 = 1 + '0';
  char v2 = 9 + '0';
  printf("%d %d", v1, v2);

目录
相关文章
Visual Studio 2022 中VLD库如何安装
Visual Studio 2022 中VLD库如何安装
868 0
|
SQL 安全 NoSQL
DMS产品常见问题之DMS提示校验失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
929 1
|
NoSQL Linux 测试技术
redis的安装步骤及前台,后台redis服务启动
这篇文章介绍了Redis的安装步骤,包括在Linux系统中下载、传输、解压、编译、安装Redis,以及Redis服务的前台和后台启动方法。
redis的安装步骤及前台,后台redis服务启动
|
C语言
C语言结构体赋值的四种方式
本文总结了C语言结构体的四种赋值方式,并通过示例代码和编译运行结果展示了每种方式的特点和效果。
1407 6
|
C++
Visual Studio(clang)代码格式化
Visual Studio(clang)代码格式化
189 0
|
SQL 存储 数据管理
深入理解SQL中的触发器
【8月更文挑战第31天】
530 0
|
设计模式 Java 开发者
【设计模式——学习笔记】23种设计模式——状态模式State(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——状态模式State(原理讲解+应用场景介绍+案例介绍+Java代码实现)
263 0
|
SQL 算法 关系型数据库
MySQL中表视图使用操作详解
MySQL中表视图使用操作详解
334 1
|
XML 运维 数据可视化
使用cmake 构建构建新项目的时候,编译提示库找不到怎么办?
以上是一些常见的解决方案,但具体解决方案可能因具体情况而异。如果以上解决方案无法解决问题,请提供更多详细信息,留在评论区,以便博主更好地帮助您解决问题。
789 0