Ðề tài: giúp em về Htech C
View Single Post
Old 22-03-2014, 05:32 PM   #4
habach
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 5
:
Trích:
Nguyên văn bởi pucapuca123 View Post
tiện thể bác cho em hỏi luôn cách ghép 8 bít lại với nhau lại bằng cách nào là nhanh nhất.
ví dụ mình có các biến sau.

a0=1;
a1=1;
a2=1;
a3=1;
a4=0;
a5=0;
a6=0;
a7=0;

làm sao để ghép được thành 1 byte : b= a0a1a2a3a4a5a6a7=0b00001111;
và có cách nào sử dụng các biến a0,a1...a7 như các bít trong biến b ( cái này cho tiết kiệm ram) chứ mình toàn khai báo unsigned char a0,a1...a7. tốn ram chết đi được,
cám ơn các bác!
Đơn giản.

Code:
typedef union {
struct {
unsigned a0:1;
unsigned a1:1;
unsigned a2:1;
unsigned a3:1;
unsigned a4:1;
unsigned a5:1;
unsigned a6:1;
unsigned a7:1;
}
struct {
unsigned ax:8;
}
}myport;

myport A;

A.ax = 0b00001111;
habach vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn