Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Đổi số thập phân sang nhị phân và ngược lại

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    15

    Mặc định Đổi số thập phân sang nhị phân và ngược lại

    Để đổi số thập phân sang nhị phân thì dùng vòng lặp và chia số đó cho 2 ta lấy số dư nhưng để xuất nó ra màng hình thì thế nào, khi số nhị phân lấy xếp từ dưới lên. Các bạn ai biết hướng dẫn dùm hoặc cho code cũng đc. thanks

  2. #2
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Bạn tham khảo bài sau : đổi từ đâu qua đâu cũng được Đổi cơ số trong lập trình C

  3. #3
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Đâu cần phải phức tạp vậy đâu sieuphuong ^^, bài này 1 có nhiều cách làm, viết 1 hàm đệ qui là dễ nhất, mình giúp bạn câu thập phân sang nhị phân, câu còn lại bạn cứ làm, nó tương tự thế, nếu sai thì post lên hỏi

    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3.  
    4. std::string binary;
    5.  
    6. void convert_to_binary(int decimal);
    7.  
    8. int main(){
    9.  
    10.   int number;
    11.   std::cout << "Enter a number : ";
    12.   std::cin >> number;
    13.   convert_to_binary(number);
    14.  
    15.   return 0;
    16. }
    17.  
    18.  
    19. void convert_to_binary(int decimal){
    20.  
    21.   if(decimal == 0){
    22.     /*In ra ngược lại là đây*/
    23.     for(int x = binary.length(); x >= 0; x--){
    24.       std::cout << binary[x];
    25.     }
    26.   }
    27.   else{
    28.     if((decimal % 2) == 0)
    29.       binary = binary + '0'; /*Nếu chia hết thì là 0*/
    30.     else                  
    31.       binary = binary + '1'; /*Không hết thì là 1*/
    32.     /*Gọi đệ qui*/
    33.     convert_to_binary(decimal/2);
    34.   }
    35. }[

  4. #4
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Nếu ko cần thiết lưu trữ thì viết thế này cho nhanh:
    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3. void dectobin(int dec)
    4. {
    5.      int d;
    6.      d = dec / 2;
    7.      if (d != 0) dectobin(d);
    8.      cout <<dec % 2;
    9. }
    10. int main()
    11. {
    12.     cout <<"Nhap so thap phan: "; int dec; cin >>dec;
    13.     cout <<"Xuat so nhi phan : "; dectobin(dec);
    14.     cout <<endl;
    15.     system("pause");
    16.     return 0;
    17. }

  5. #5
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Em cũng xin góp 1 bài nhị phân đệ quy cho xôm tụ ( c++ only)
    Code:
     string binary(int n)
    {
     if(n%2) s="0";
     else s="1";
     if(n<2) return s; 
     return binary(n/2) +s;
    }

  6. #6
    Ngày gia nhập
    10 2007
    Bài viết
    15

    Mặc định Đổi số thập phân sang nhị phân và ngược lại

    Trích dẫn Nguyên bản được gửi bởi rox_rook Xem bài viết
    Đâu cần phải phức tạp vậy đâu sieuphuong ^^, bài này 1 có nhiều cách làm, viết 1 hàm đệ qui là dễ nhất, mình giúp bạn câu thập phân sang nhị phân, câu còn lại bạn cứ làm, nó tương tự thế, nếu sai thì post lên hỏi
    Mình học C căn bản nên ko hiểu cái phần xuất ngược của bạn lắm. Nhưng dù sao cũng cám ơn bạn.

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    PHP Code:
    for(int x binary.length(); >= 0x--){
          
    std::cout << binary[x];

    Lúc thập phân ra nhị phân thì chia 2, và kết quả là ghi ngược lại đúng không ?
    Chuỗi binary cứ được cộng vào 0 (hoặc 1) ok ? Vậy giả sử khi số đó đã bằng không rùi :
    PHP Code:
    if(decimal == 0
    thì ta có ví dụ
    Binary = "10001" chẳng hạn thì length() chính là thằng cuối, để ý câu lệnh for là đi ngược, vậy in ra kết quả là ngược lại ?

  8. #8
    Ngày gia nhập
    04 2010
    Nơi ở
    Recycle Bin
    Bài viết
    358

    Trích dẫn Nguyên bản được gửi bởi huynguyen Xem bài viết
    Nếu ko cần thiết lưu trữ thì viết thế này cho nhanh:
    Có làm tương tự được với số thực không pác. Nếu không thì Số thực phải làm thế nào pác chỉ em với.
    YH : lobuocphuudu_218
    Phone : 0126 463 5095

    http://forums.congdongcviet.com/signaturepics/sigpic55872_2.gif

  9. #9
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Đóng góp 1 code có thể dịch tất cả các loại dữ liệu 4byte ra nhị phân : số nguyên ko dấu, số nguyên có dấu, số thực

    C++ Code:
    1. #include "iostream"
    2. using namespace std;
    3. void _nhiphan(unsigned n)
    4. {
    5.     n>>1?_nhiphan(n>>1):0;
    6.     printf("%d",n&1);
    7. }
    8. template <class T>
    9. void nhiphan(T n)
    10. {
    11.     _nhiphan(*(unsigned *)(void*)&n);
    12. }
    13. void main(void)
    14. {
    15.     nhiphan(-2.0f); // chú ý là float chứ ko chuyển được double vì double là 8byte
    16.     system("pause");
    17. }
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  10. #10
    Ngày gia nhập
    11 2010
    Bài viết
    1

    [CODE C++]
    Mình đọc thấy bày của các bạn viết hay quá, mà điều khó hiểu quá, có mấy bài chạy hok được. nên mình xin gửi 1 bài ngắn tuy nó chưa hoàn chỉnh về mặc hình thức nhưng mà nó cũng đa giảu quyết được vấn đề nên mình cũng xin share với các bạn
    //code
    #include<conio.h>
    #include<iostream.h>
    #include<string.h>
    void main()
    {
    int i,n,a;
    int mang[100];
    char kieu[16]="0123456789ABCDEF";
    cout<<"Nhap So Muon Chuyen Doi";
    cin>>n;
    cout<<"Nhap Kieu Du Lieu Muon Doi";
    cin>>a;
    i=0;
    while(n>0)
    {mang[i]=n%a;
    n=n/a;
    i=i+1;
    }
    cout<<"So Vua Doi La:\n";
    for(i=i-1;i>=0;i--)
    {cout<<kieu[mang[i]];}
    getch();

    }
    [/CODE]

Các đề tài tương tự

  1. Bài tập C đổi thập phân sang nhị phân
    Gửi bởi nhoklovex4 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 03-01-2013, 05:23 PM
  2. Hỏi về thuật toán chuyển so thập phan sang số nhị phân,thập lục phân
    Gửi bởi chicken_chip trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 04-11-2011, 05:45 PM
  3. Chuyển hệ thập phân sang hệ thập lục phân, giúp mình
    Gửi bởi Yio_91 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 04-10-2010, 01:04 PM
  4. đổi số thập phân sang số nhị phân
    Gửi bởi hamhochoi2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 16-03-2008, 08:20 AM
  5. Đổi số thập phân sang phân số?
    Gửi bởi NoBi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 31-12-2007, 10:53 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn