int16 laybit(int16 binary,int8 vitri)
{
if (dbit==0) kq3&=0b00000001;
else if (dbit==1) kq3&=0b00000011;
else if (dbit==2) kq3&=0b00000111;
else if (dbit==3) kq3&=0b00001111;
else if (dbit==4) kq3&=0b00011111;
else if (dbit==5) kq3&=0b00111111;
else if (dbit==6) kq3&=0b01111111;
else if (dbit==7) kq3&=0b11111111;
return kq3;
}
void main()
{
for (i=0;i<8;i++)
thapphan=thapphan+laybit(binary,i)*2^1;
}
Giải thích, ban đầu bạn làm một hàm lấy từng byte trong chuỗi binary, từ vị trí 0-->7 bằng hàm laybyte(binary,vitri)
Sau khi lấy bit ở vị trí thì nhân với 2^vitri ở đó, rồi cộng dồn với thập phân.
|