How can I create a 48-bit uint for bit mask
I am trying to create a 48-bit integer value. I understand it may be possible to use a char array or struct, but I want to be able to do bit masking/manipulation and I'm not sure how that can be done. Currently the program uses a 16-bit uint and I need to change it to 48. It is a bytecode interpreter and I want to expand the memory addressing to 4GB. I could just use 64-bit, but that would waste a lot of space. Here is a sample of the code: unsigned int program[] = { 0x1064, 0x11C8, 0x2201, 0x0000 }; void decode( ) { instrNum = (program[i] & 0xF000) >> 12; //the instruction reg1 = (program[i]