字母大小寫轉換

2021-10-02 21:10:54 字數 802 閱讀 9092

這道題其實很簡單,有好幾種做法。

我們都知道大寫字母a-z的編碼是65-90,小寫字母的編碼a-z是97-112。

首先先看這張:

由圖中的**可以觀察得出:

很直觀可以看出,大寫字母和小寫字母的ascii碼值相差32

通過仔細觀察相應的二進位制,可以得出大寫字母和小寫字母二進位制的第5位(從右往左從0開始數)正好相反。這也恰恰印證了第一點的ascii碼值相差32。

大小寫是由二進位制的第5位來區分的。

第5位為1即為小寫,第5位為0即為大寫

因此可以利用異或、與、或三種運算,保持其他位不變而只改變該位即可。

#include

using

namespace std;

intmain()

#include

using

namespace std;

intmain()

當然要想到庫函式啦,要用到頭檔案 ctype.h

#include

#include

using

namespace std;

intmain()

望各位大佬指點,qwq。

字母大小寫轉換

好久沒寫博了,準備繼續搞起。今天先寫個簡單的,字母的大小寫轉換。問題1 給定乙個字串 asdfghj 把它全部轉為大寫字母或者小寫字母。這問題是不是太簡單了點,現有的各種函式庫裡面都有什麼strtoupper strtolower 之類的轉換函式。自己手寫乙個呢?這讓我想起以前上機實驗寫c程式的時候...

js字母大小寫轉換

tolocaleuppercase 方法 返回乙個字串,其中所有的字母字元都被轉換為大寫,同時適應宿主環境的當前區域設定。stringvar.tolocaleuppercase 必選的 stringvar 引用是乙個 string 物件,值或文字。說明tolocaleuppercase 方法轉換字串...

c 字母大小寫轉換

今天突然有了點空閒時間,又剛好看到乙個需要轉換字母大小寫的問題,於是就來這裡聊一下 首先,我們要知道可行的轉換方法 一 ascall碼 使用ascall碼轉換的原理是乙個字母的大小寫ascall碼之差為32.因此大致思路為先判斷大小寫,再進行相應的 32 includeusing namespace...