下面这段程序,o_digit_read每次从decode_table[]取得9,但是......
o_digit_read = decode_table [o_bit_pattern[3]];
o_num_read[0] = o_digit_read & 0xf;
o_digit_read = decode_table [o_bit_pattern[2]];
o_num_read[0] += (o_digit_read & 0xf) << 4;
o_digit_read = decode_table [o_bit_pattern[1]];
o_num_read[0] += (o_digit_read & 0xf) << 8; /*在这前,o_digit_read=9,在之后,0_num_read[0]的位8-12并不是9*/
o_digit_read = decode_table [o_bit_pattern[0]];
o_num_read[0] += (o_digit_read & 0xf) << 12;
本来4位数是9999,但拼接之后,得到9099..........谁能告诉错在哪里么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不会有进位发生.
(原文件名:s02.JPG)
对了还要说明一下,这段代码其实曾经用的好好的.
后来别的地方改了,它这里不行了......再后来,到处找解决办法,就试着选中那个"Debug"------好了.
一周热门 更多>