Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- value >> 12
- value & 0x00000FFF
- 6844268 = 11010000110111101101100
- >> 12 = 11010000110.111101101100
- result = 11010000110
- result = 2 + 4 + 128 + 512 + 1024 = 1670
- 18273 = 100011101100001
- 6844268 >> 12 = 11010000110
- ^^^^ ^^^ <-- mismatches
- sock@thebrain:~$ g++ test.cc
- sock@thebrain:~$ ./a.out
- 6844268 1670 1670
- 6844268 1670 1670
- sock@thebrain:~$ cat test.cc
- #include <iostream>
- #include <stdio.h>
- using namespace std;
- int main()
- {
- unsigned int value = 6844268;
- printf("%u %u %un", value, value >> 12, (value >> 12)&0xFFF);
- cout << value << " ";
- cout << (value>>12) << " ";
- value = (value>>12)&0xFFF;
- cout << value << endl;
- return 0;
- };
- [Function signature: const unsigned char *src, int len, char *dst]
- unsigned short *sdst = (unsigned short*) dst;
- unsigned short *slt = (unsigned short*) lookup_ext;
- while (len >= 3) {
- unsigned int value = *src++ << 16;
- value |= *src++ << 8;
- value |= *src++;
- cout << value << endl;
- *sdst++ = slt[value >> 12];
- *sdst++ = slt[value & 0x00000FFF];
- cout << sizeof(unsigned short) << endl << slt[value >> 12] << endl << slt[value & 0x00000FFF] << endl;
- len -= 3;
- }
- 6844268 | cout << value
- 2 | sizeof(unsigned short)
- 18273 | slt... Ohhhh sneaky. I mis-pasted that, nevermind - it's an slt issue [Output's the same now]
- 29497
Add Comment
Please, Sign In to add comment