Tag: 移位

将8字节char数组转换为long

我们如何将8字节的char数组转换为long,因为<<不适用于long类型? #define word_size 8 long num = 0; char a[word_size] = “\x88\x99\xaa\x0bb\xcc\xdd\xee\xff”; for (i=0; i < word_size;i++) { a[(word_size-1) – i] |= (num << (8*(word_size – i – 1))) & 0xFF; } printf("%lx\n", num);