2015-06-13 25 views
-4

我無法理解此加密字符串中字符的簡單方法。因此,這裏的方法:用於簡單字符加密的這兩種「方法」之間的區別

encryptedChar = (char) (’A’ + (originalChar -’A’ + offset) % 26); 

我不明白'A' - 'A'的需要,因爲他們只是抵消。它背後的原因是什麼?

爲什麼我不應該只使用下面的方法?

encryptedChar = (char) ((originalChar + offset) % 26); 

它不應該一模一樣嗎?

+2

因爲有模'26'的字符。他們不抵消。 –

回答

2
encryptedChar = (char) ('A' + (originalChar -'A' + offset) % 26); 

兩個「A」不會相互抵消,因爲第二個是在模運算符的操作數的表達式內。

  • 'A' + (originalChar -'A' + offset) % 26 - 這裏每個字母映射到一個不同的字母。

  • ((originalChar + offset) % 26) - 在這裏每個字母映射到其int值是25介於0和

相關問題