应用开发

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

时间:2010-12-5 17:23:32  作者:IT科技   来源:人工智能  查看:  评论:0
内容摘要:计算机底层是一堆逻辑电路,记录信息只能以数值的形式。因此对于一个字符 a ,计算机记录其为值 97 。这个值与字符的对应关系是人们约定好的,这里使用的对应表为 ASCII Table 。在 ASCII

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

因此对于一个字符 a ,串C常用计算机记录其为值 97 。函数

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

在 ASCII Table 里,串C常用 a 对应 97 ,函数 b 对应 98 ... 字符 1 对应数值 49 。香港云服务器数字

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

int cnt[26]; 

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

char c; cin >> c; cnt[c - a] ++ ; 

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

我不禁发问:

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

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

C++

数字到字符(ASCII码)

// 强制转换,根据 ASCII 码 int tmp = 97; char ac = tmp; cout << ac << endl;  // 输出 a 

数字到字符串(表面值)

int tmp = 97; string as = to_string(tmp); cout << as << endl;  // 输出 97 

字符到数字(ASCII码)

char a; cin >> a; int num1 = a - 0; int num2 = a - A; int num3 = a - a; 

字符串到数字(表面值)

string b; cin >> b; int          num4 = stoi(b); float        num5 = stof(b); double       num6 = stod(b); long double  num7 = stold(b); 

Python

数字到字符(ASCII码)

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

数字到字符串(表面值)

tmp: int = 97 a_s: str = str(tmp); print(a_s)  # 输出 97 

字符到数字(ASCII码)

a: str = a num: int = ord(a) print(num) 

字符串到数字(表面值)

b: str = "123" c: str = "123.45" num2: int = int(b) num3: float = float(c) print(num2) # 123 print(num3) # 123.45 亿华云
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap