Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Chuyển đổi nhị phân sang thập phân

16:03 06-09-2021 410 lượt xem 2 bình luận 16:20 06-09-2021

   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);

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Minh Sự Moderator đã bình luận 16:48 06-09-2021

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

Câu hỏi mới nhất