技术日常

c++9~字符和数字异或运算时和php的区别

2018-10-26  本文已影响48人  摹喵居士

2018.10.28

c++和php在字符和数字进行异或时不同

php中字符和数字按位异或,相当于c++里,对字符进行atoi,识别数字,非数字就是0,并不是用ascii的数值去运算

php

<?php
function test($str) {
   $num = 0;
   for ($i = 0; $i < strlen($str); $i++) {
      var_dump($str[$i] ^ $num);
   }
}

test("23B3");


结果:2303

c++

std::string test = "23B3";
    char *p1 = new char[1];
    for (int i = 0; i < test.length(); i++) {
        
        p1[0] = test[i];
        printf("%s:%d\n", "test", atoi(p1) ^ 0);
    }
    delete []p1;

结果:2303

上一篇 下一篇

猜你喜欢

热点阅读