em thấy rất nhiều thuật toán về biến đổi các số nhị phân sang BCD nhưng ko thấy thuật toán BCD sang nhị phân bao giờ. bác nào có thể giới thiệu cho em quyển sách viết về các phép toán số nhị phân. tiếng việt hay tiếng anh cang tốt. em xin cảm ơn
Hỏi về dùng số nhị phân
Collapse
X
-
Về chuyển đổi BCD sang nhị phân (nó quá trực quan để phải viết thành thuật toán):Nguyên văn bởi viet_bk View Postem thấy rất nhiều thuật toán về biến đổi các số nhị phân sang BCD nhưng ko thấy thuật toán BCD sang nhị phân bao giờ. bác nào có thể giới thiệu cho em quyển sách viết về các phép toán số nhị phân. tiếng việt hay tiếng anh cang tốt. em xin cảm ơn
http://www.electro-tech-online.com/m...cd-binary.html
Các phép toán số học trên số nhị phân cũng chẳng khác gì trên số thập phân. Hệ nhị phân chỉ là một cách biểu diễn con số ở format khác, nhằm thuận lợi hơn cho việc hiện thực trên máy tính số.
Bạn cần tìm hiểu về phép toán nào thì cứ liệt kê ra đây.
Thân,Biển học mênh mông, sức người có hạn.
Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
-
em không hiêu trực quan có nghĩa thế nào. nếu em dùng assembly thì làm thế nào. nếu như anh giới thiệu thì vẫn dùng phép nhân.lại phải dùng thêm một hàm nhân. nếu như chuyển từ nhị phân sang BCD thì chỉ cần dịch bít rồi khiểm tra xem có lớn hơn 9 hay không. nêu đúng thì công thêm 6. em muốn tìm một thuật toán dạng như vậy. nếu có anh giới thiệu cho em nhá
Comment
-
Trong hệ nhị phân, phép nhân chính là kết hợp của phép dịch và phép cộng. Ví dụ, x*10 = x*8 + x*2 = (x<<3) + x(<<1).Nguyên văn bởi viet_bk View Postem không hiêu trực quan có nghĩa thế nào. nếu em dùng assembly thì làm thế nào. nếu như anh giới thiệu thì vẫn dùng phép nhân.lại phải dùng thêm một hàm nhân. nếu như chuyển từ nhị phân sang BCD thì chỉ cần dịch bít rồi khiểm tra xem có lớn hơn 9 hay không. nêu đúng thì công thêm 6. em muốn tìm một thuật toán dạng như vậy. nếu có anh giới thiệu cho em nhá
Sau đây là thuật toán chuyển số BCD 5 chữ số thành số nhị phân 16-bit (áp dụng đúng nguyên tắc trên):
Bài viết trước đó của bạn chỉ yêu cầu về thuật toán, chứ không cho biết bạn đang viết code hợp ngữ.
Thân,Biển học mênh mông, sức người có hạn.
Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
Comment
-
Nếu PIC có hỗ trợ các phép toán trên số có dấu thì chúng ta dùng các phép toán đó. Ngược lại, chúng ta xét dấu của hai toán hạng để xác định dấu của kết quả, rồi chuyển chúng về dạng không dấu, và dùng các thuật toán đã có cho số không dấu. Ví dụ, nhân hai số cùng dấu sẽ cho dấu +, và nhân hai số ngược dấu sẽ cho dấu -.Nguyên văn bởi lequocbao View Postvậy còn số âm thì sao anh Namqn?
Thân,Biển học mênh mông, sức người có hạn.
Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
Comment
-
Nhưng cái quan trọng là làm sao để biết đó là số âm anh Namqn àh!chứ em dùng các câu lệnh như :
int8 x;
if(x<0)
giá trị của x sẽ được giảm từ từ trong vòng lặp hoặc từ nút nhấn giảm bên ngoài.
thì kết quả của lệnh if trên luôn là false anh àh!mặc dù mình biết là x đã được giảm nhỏ hơn 0 rồi.A&A
Comment

namqn
Comment