Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1

    Cho hỏi về thuật toán chia module 2 với

    Em đang làm bài tập về C, thầy bắt lập trình chia module 2 (không đc đổi về thập phân để chia). Bác nào có code hay có thể hướng dẫn cho em với [IMG]images/smilies/Cry.gif[/IMG]

    - - - Nội dung đã được cập nhật ngày 16-09-2014 lúc 08:18 AM - - -

    Hix không ai giúp đc à ? Em tìm hiểu thấy bảo dùng XOR dịch bit nhưng không hiểu rõ cụ thể như thế nào ?

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - không hiểu bạn nói chia module 2 là sao? nói rõ và đầy đủ yêu cầu bài toán đi

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi acthu489
    - không hiểu bạn nói chia module 2 là sao? nói rõ và đầy đủ yêu cầu bài toán đi
    Mừng quá có người trả lời rùi [IMG]images/smilies/smile.png[/IMG]

    Ví dụ em muốn lấy số nhị phân 11001 chia cho số 101 tìm số dư của nó. (thầy gợi ý là dùng phép xor dịch từng bit). Bác gợi ý cho em với

  4. #4
    - Theo mình hiểu thì bài toán là thế này:
    + input: người dùng gõ vào 2 xâu là số bị chia và số chia, ví dụ xâu "10001" (xâu này 5 ký tự kiểu char)
    + output: in ra phần dư dạng nhị phân, ko được chuyển đổi cơ số sang thập phân.

    - mình nghĩ phép chia mà máy thực hiện vốn đã là phép chia nhị phân rồi,
    - VD:
    int a =4;
    int b = 1;
    int c = a%b;

    - máy sẽ hiểu là
    a = '00000100' ;// (đây là 8 bít nhé, ko phải 8 ký tự 0-1)
    b = '00000001';
    c = '00000100' % '00000001'

    - vấn đề là làm sao bạn chuyển 1 xâu ký tự "10001" thành 1 byte '00010001' để làm phép chia, và chuyển ngược lại để in được c ra ở dạng nhị phân
    - còn về phép xor thì chắc thầy bạn dùng cơ chế "mặt nạ" thao tác với từng bít, cụ thể thì mình chưa làm kiểu này bao giờ nên ko chỉ cụ thể được [IMG]images/smilies/1.gif[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •