30/09/2018, 21:08

Code chuyển đổi số nguyên ( cả âm lẫn dương) giữa các cơ số

Em đang là sinh nhất, cũng đã làm quen với C++ được gần 1 năm nhưng hôm nay gặp bài chuyển đổi số nguyên ( cả âm lẫn dương) từ cơ số 10 về cơ số 2, em cũng đã code được nhưng cảm thấy chưa tối ưu mà đoạn code rất mất công, Mọi người có thể gợi ý cho em hướng nào đơn giản mà hiểu quả được ko ạ??

Trương Quang Hiếu viết 23:10 ngày 30/09/2018

show code lên đi bạn

Quang viết 23:24 ngày 30/09/2018

Đây chỉ là code cho số nguyên dương thôi, còn số nguyên âm thì thực sự nó quá dài cho 1 phép chuyển cơ số nên em ko đăng ạ.!

Trương Quang Hiếu viết 23:18 ngày 30/09/2018

Mình thấy code của bạn khá ổn để tìm với số dương (mặc dù vòng for cuối hơi dị so với mình nghĩ)
Cách làm với 10 -> 2 với số âm:

  1. Lấy giá trị tuyệt đối của số âm đó tìm hệ số 2 của nó.
  2. Đảo ngược các số trong dãy: 1 thành 0, 0 thành 1.
  3. Cộng thêm 1 vào số đã đảo ngược.
    => Bạn có số âm.
    Ví dụ với số 10 (dùng 8bits):
    00001010
    Đảo ngược:
    11110101
    Cộng thêm 1 vào
    Kết quả:

-10 = 11110110

Bài liên quan
0