假设我们有一个包含32位数字的二进制文件。每个32位数字代表一条指令。我的问题是:是否可能直接将这些位切成6+5+5+16的块?类似于:
typedef struct _instruction
{
int op_code : 6;
int reg_dest : 5;
int reg_s1 : 5;
int offset : 16;
} INST, *PINST;
int read_32_bits = read_next_instr();
INST i = (INST)read_32_bit; /* this would cut the bits into chunks*/