![]() |
![]() |
#1 |
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
các lệnh chuyển từ binary qua decimal
bạn nào chỉ dùm mình các lệnh chuyển từ số nhị phân ==> thập phân trong CCS
thanks |
![]() |
![]() |
![]() |
#2 |
Đệ tử 6 túi
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
: |
để làm gì vậy bạn?
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 5 túi
|
Cái chắc bạn nên tạo một cái hàm chuyển đổi theo quy tắc chuyển đổi.
Ví dụ 111=1*2^2+1*2^1+1*2^0=7 , chứ trong CCS C hình như không có sẵn.
__________________
Bảng ledsigns chất lượng cao... http://www.ledviet.info - manhha2700@yahoo.com Đt:0949299699 |
![]() |
![]() |
![]() |
#4 |
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
bạn có thể nói rõ giải thuật được không ? hoặc 1 ví dụ cụ thể CCS.
thanks. |
![]() |
![]() |
![]() |
#5 |
Đệ tử 5 túi
|
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.
__________________
Bảng ledsigns chất lượng cao... http://www.ledviet.info - manhha2700@yahoo.com Đt:0949299699 |
![]() |
![]() |
![]() |
#6 | |
Đệ tử 4 túi
|
Trích:
đệ nghĩ phải là 0b00000001 --> 0b00000010 --> 0b00000100..mới đúng chứ nhỉ? cám ơn huynh!! bạn cũng có thể dùng lệnh rotate_left hay rotate_right trong CCS C.cũng với cách tương tự như huynh trên làm.bạn tạo một vòng lặp trong đó cho "and" & với 0x01 rồi lấy mũ tương ứng và cộng dồn vào.nếu giá trị của bạn nằm trong vòng 16bit thì tạo 1 biến 16 bit cho giá trị muốn đổi và cứ cho vòng lặp 16 lần. hy vọng mình nghĩ đúng và giúp ích cho bạn!! |
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 5 túi
|
![]() Uh, mình wên mất, không nhìn kỹ, tại copy từ chương trình cũ lúc xưa. HIHI
__________________
Bảng ledsigns chất lượng cao... http://www.ledviet.info - manhha2700@yahoo.com Đt:0949299699 |
![]() |
![]() |
![]() |
|
|