các bác cho ý kiến đoạn chương trình sau nhé:
unsigned long v,p;
unsigned int data[11]={0x0a,0x01,0x07,0x00,0x03,0x69,0xd0 ,0x00,0x01,0x38,0x80};
v = (((((data[3]<<8)+data[4])<<8)+data[5])<<8)+data[6];
p = (((((data[7]<<8)+data[8])<<8)+data[9])<<8)+data[10];
đoạn này ko đúng , nhưng nếu :
v = (((((0x00<<8)+0x03)<<8)+0x69)<<8)+0xd0;
p = (((((0x00<<8)+0x01)<<8)+0x38)<<8)+0x80;
thì lại đúng
tức là ko dùng tên hằng nữa mà dùng trực tiếp giá trị của nó
mình ko giải thích nổi rồi
thanks
unsigned long v,p;
unsigned int data[11]={0x0a,0x01,0x07,0x00,0x03,0x69,0xd0 ,0x00,0x01,0x38,0x80};
v = (((((data[3]<<8)+data[4])<<8)+data[5])<<8)+data[6];
p = (((((data[7]<<8)+data[8])<<8)+data[9])<<8)+data[10];
đoạn này ko đúng , nhưng nếu :
v = (((((0x00<<8)+0x03)<<8)+0x69)<<8)+0xd0;
p = (((((0x00<<8)+0x01)<<8)+0x38)<<8)+0x80;
thì lại đúng
tức là ko dùng tên hằng nữa mà dùng trực tiếp giá trị của nó
mình ko giải thích nổi rồi
thanks
Comment