求解'a'^'b'的运算过程

如果^运算符两边都是整数自然会是转换二进制进行异或运算,但是如果都是字符串呢?

阅读 2.3k
2 个回答

如果是俩字符的话,那就要看你使用的编程语言语法上是否支持:

对于 ^ 运算符有匹配 char ^ char 的运算符重载方法。

如果语法允许,那就取决于重载方法如何定义了。

一般情况下,会直接取 arg1arg2ASCII 码值然后继续套用 number ^ number 运算。

但是字符串的话,应该是不行的除非你手动重载 ^ 运算符以支持,不然对于一个长度大于 1 的字符串该如何取 number 值是未定义的。

参考 PHP 官方文档:https://secure.php.net/manual...
写道:

If both operands for the &, | and ^ operators are strings, then the operation will be performed on the ASCII values of the characters that make up the strings and the result will be a string.

两边都是字符串的时候会取 ASCII 值,并且返回值会是字符串。

推荐问题