新聞中心
計(jì)算機(jī)底層是一堆邏輯電路,記錄信息只能以數(shù)值的形式。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括沁水網(wǎng)站建設(shè)、沁水網(wǎng)站制作、沁水網(wǎng)頁(yè)制作以及沁水網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沁水網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沁水省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
因此對(duì)于一個(gè)字符 a ,計(jì)算機(jī)記錄其為值 97 。
這個(gè)值與字符的對(duì)應(yīng)關(guān)系是人們約定好的,這里使用的對(duì)應(yīng)表為 ASCII Table 。
在 ASCII Table 里, a 對(duì)應(yīng) 97 , b 對(duì)應(yīng) 98 ... 字符 1 對(duì)應(yīng)數(shù)值 49 。
之所以寫這篇筆記是因?yàn)橐恍┧惴}的要求,比如,我們需要統(tǒng)計(jì) 26 個(gè)小寫英文字母出現(xiàn)頻率,在算法題中,完全沒必要開一個(gè)哈希表,開一個(gè) 26 長(zhǎng)度的整數(shù)數(shù)組就行。
- int cnt[26];
當(dāng)我們讀入一個(gè)字符時(shí),則進(jìn)行一次強(qiáng)制類型轉(zhuǎn)換,就實(shí)現(xiàn)了哈希表功能。
- char c;
- cin >> c;
- cnt[c - 'a'] ++ ;
當(dāng)讀入的數(shù)字是 'a' 時(shí), 'a' - 'a' == 0 ,則實(shí)現(xiàn)了哈希的功能。
我不禁發(fā)問:
- 上述過程的逆過程如何實(shí)現(xiàn)呢?比如給我數(shù)值 97 ,我如何才能得到其在 ASCII 表里對(duì)應(yīng)的字符 'a' ?
- 如果在字面上轉(zhuǎn)換呢?
- 比如給我數(shù)值 97 ,我如何才能得到字符串 "97" ?
- 比如給我字符串 "97" ,我如何才能得到數(shù)值 97 ?
不熟悉的話,做題時(shí)容易被卡脖子。在此總結(jié) C++ 和 Python。
C++
數(shù)字到字符(ASCII碼)
- // 強(qiáng)制轉(zhuǎn)換,根據(jù) ASCII 碼
- int tmp = 97;
- char ac = tmp;
- cout << ac << endl; // 輸出 a
數(shù)字到字符串(表面值)
- int tmp = 97;
- string as = to_string(tmp);
- cout << as << endl; // 輸出 97
字符到數(shù)字(ASCII碼)
- char a;
- cin >> a;
- int num1 = a - '0';
- int num2 = a - 'A';
- int num3 = a - 'a';
字符串到數(shù)字(表面值)
- string b;
- cin >> b;
- int num4 = stoi(b);
- float num5 = stof(b);
- double num6 = stod(b);
- long double num7 = stold(b);
Python
數(shù)字到字符(ASCII碼)
- # 強(qiáng)制轉(zhuǎn)換,根據(jù) ASCII 碼
- tmp: int = 97
- ac: str = chr(tmp)
- print(ac) # 輸出 a
數(shù)字到字符串(表面值)
- tmp: int = 97
- a_s: str = str(tmp);
- print(a_s) # 輸出 97
字符到數(shù)字(ASCII碼)
- a: str = 'a'
- num: int = ord(a)
- print(num)
字符串到數(shù)字(表面值)
- b: str = "123"
- c: str = "123.45"
- num2: int = int(b)
- num3: float = float(c)
- print(num2) # 123
- print(num3) # 123.45
當(dāng)前文章:數(shù)字、字符、字符串?|C++與Python中的常用轉(zhuǎn)換函數(shù)
文章出自:http://fisionsoft.com.cn/article/djgisjs.html


咨詢
建站咨詢
