前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字、字符、字符串? | C++ 与 python 中的常用转换函数

数字、字符、字符串? | C++ 与 python 中的常用转换函数

作者头像
Piper蛋窝
发布2021-09-15 12:57:03
1.1K0
发布2021-09-15 12:57:03
举报
文章被收录于专栏:Piper蛋窝Piper蛋窝

Nick Hillier @ unsplash.com

计算机底层是一堆逻辑电路,记录信息只能以数值的形式。

因此对于一个字符 a ,计算机记录其为值 97

这个值与字符的对应关系是人们约定好的,这里使用的对应表为 ASCII Table 。

在 ASCII Table 里, a 对应 97b 对应 98 ... 字符 1 对应数值 49

之所以写这篇笔记是因为一些算法题的要求,比如,我们需要统计 26 个小写英文字母出现频率,在算法题中,完全没必要开一个哈希表,开一个 26 长度的整数数组就行。

代码语言:javascript
复制
int cnt[26];

当我们读入一个字符时,则进行一次强制类型转换,就实现了哈希表功能。

代码语言:javascript
复制
char c;
cin >> c;
cnt[c - 'a'] ++ ;

当读入的数字是 'a' 时, 'a' - 'a' == 0 ,则实现了哈希的功能。

我不禁发问:

  • 上述过程的逆过程如何实现呢?比如给我数值 97 ,我如何才能得到其在 ASCII 表里对应的字符 'a'
  • 如果在字面上转换呢?
    • 比如给我数值 97 ,我如何才能得到字符串 "97"
    • 比如给我字符串 "97" ,我如何才能得到数值 97

不熟悉的话,做题时容易被卡脖子。在此总结 C++Python

C++

数字到字符(ASCII码)

代码语言:javascript
复制
// 强制转换,根据 ASCII 码
int tmp = 97;
char ac = tmp;
cout << ac << endl;  // 输出 a

数字到字符串(表面值)

代码语言:javascript
复制
int tmp = 97;
string as = to_string(tmp);
cout << as << endl;  // 输出 97

字符到数字(ASCII码)

代码语言:javascript
复制
char a;
cin >> a;
int num1 = a - '0';
int num2 = a - 'A';
int num3 = a - 'a';

字符串到数字(表面值)

代码语言:javascript
复制
string b;
cin >> b;
int          num4 = stoi(b);
float        num5 = stof(b);
double       num6 = stod(b);
long double  num7 = stold(b);

Python

数字到字符(ASCII码)

代码语言:javascript
复制
# 强制转换,根据 ASCII 码
tmp: int = 97
ac: str = chr(tmp)
print(ac)  # 输出 a

数字到字符串(表面值)

代码语言:javascript
复制
tmp: int = 97
a_s: str = str(tmp);
print(a_s)  # 输出 97

字符到数字(ASCII码)

代码语言:javascript
复制
a: str = 'a'
num: int = ord(a)
print(num)

字符串到数字(表面值)

代码语言:javascript
复制
b: str = "123"
c: str = "123.45"
num2: int = int(b)
num3: float = float(c)
print(num2) # 123
print(num3) # 123.45
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Piper蛋窝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++
    • 数字到字符(ASCII码)
      • 数字到字符串(表面值)
        • 字符到数字(ASCII码)
          • 字符串到数字(表面值)
          • Python
            • 数字到字符(ASCII码)
              • 数字到字符串(表面值)
                • 字符到数字(ASCII码)
                  • 字符串到数字(表面值)
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档