当前位置: 首页 > 科技观察

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

时间:2023-03-18 14:15:38 科技观察

计算机底层是一堆逻辑电路,记录的信息只能是值的形式。所以对于字符a,计算机将其记录为值97。这个值和字符的对应关系是人们约定好的,这里使用的对应表是ASCIITable。在ASCII表中,a对应于97,b对应于98...字符1对应于值49。之所以写这篇笔记,是因为一些算法题的需求。比如我们需要统计26个小写英文字母的出现频率。在算法题中,根本不需要开哈希表,开一个26长度的整数数组就可以了。意图[26];我们在读取一个字符时,进行强制类型转换,实现哈希表功能。charc;cin>>c;cnt[c-'a']++;当读取到的数为'a'时,'a'-'a'==0,则实现哈希函数。不禁要问:如何实现上述过程的逆过程?例如,如果我得到值97,我如何在ASCII表中获取对应的字符'a'?如果按字面意思转换呢?例如,如果我被赋予值97,我如何才能得到字符串“97”?例如,给我字符串“97”,我如何得到值97?如果不熟悉,做题时很容易卡壳。这里总结了C++和Python。C++数字转字符(ASCII码)//强制转换,按照ASCII码inttmp=97;charac=tmp;cout<>a;intnum1=a-'0';intnum2=a-'A';intnum3=a-'A';字符串转数字(面值)stringb;辛>>乙;intnum4=stoi(b);floatnum5=stof(b);doublenum6=stod(b);longdoublenum7=stold(b);Python数字转字符(ASCII码)#强制转换,根据ASCII码tmp:int=97ac:str=chr(tmp)print(ac)#输出一个数字转字符串(表面值)tmp:int=97a_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)#123print(num3)#123.45