10
^ = 32の背後にあるアイデアは何ですか?小文字を大文字に、またはその逆に変換しますか?
コードフォースに関するいくつかの問題を解決していました。通常、私は最初に文字が大文字か小文字かをチェックし、次に減算または加算32して対応する文字に変換します。しかし、私は誰かが^= 32同じことをするためにやることを見つけました。ここにあります: char foo = 'a'; foo ^= 32; char bar = 'A'; bar ^= 32; cout << foo << ' ' << bar << '\n'; // foo is A, and bar is a これについての説明を探しましたが、わかりませんでした。なぜこれが機能するのですか?
146
c++
bit-manipulation
ascii