Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
AD và team trợ giúp tường minh giúp em đoạn code dưới ạ
Em chưa hiểu cách thức làm việc của đoạn code này;
// Chuyển đổi nhịn phân sang thập phân:
Int16[] Temp = { 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0};
Int16 A = (Int16)(((byte)Temp[3] << 3) | ((byte)Temp[2] << 2) | ((byte)Temp[1] << 1) | (byte)Temp[0]);
Int16 B = (Int16)((byte)(Temp[7] << 3) | ((byte)Temp[6] << 2) | ((byte)Temp[5] << 1) | (byte)Temp[4]);
Int16 C= (Int16)((byte)(Temp[11] << 3) | ((byte)Temp[10] << 2) | ((byte)Temp[9] << 1) | (byte)Temp[8]);
Int16 D = (Int16)(((byte)Temp[15] << 3) | ((byte)Temp[14] << 2) | ((byte)Temp[13] << 1) | (byte)Temp[12]);
Int16 KQ = (Int16)(((byte)D << 12) | ((byte)C << 8) | ((byte)B << 4) | (byte)A);
Từ line 3 đến line 6 là truy cập tới phần từ của Array Temp sau đó dịch trái 3 bit rồi bật bit đó lên 1, sau đó OR, bạn tham khảo link bên dưới để biết thêm thông tin nha, code này đang thao tác với bit á.
https://vi.wikipedia.org/wiki/Ph%C3%A9p_to%C3%A1n_thao_t%C3%A1c_bit