Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: thắc mắc về bài toán này(chuyển dec sang oct)

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

    Exclamation thắc mắc về bài toán này(chuyển dec sang oct)

    Đệ cũng mới học gần đây thui, thầy có cho đề là viết chương trình chuyển thập phân sang bát phân. Sau đây là code đệ viết
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    int main()
    {
        int i = 0;
        int count = 0;
        int n;
        //double x;
        do
        {
            printf("Hay nhap vao 1 so nguyen >= 0: ");
            scanf("%d",&n);
        }while (n < 0);
        while (n >= 8)
        {
              i += int(n%8*pow(10,count));
              n /= 8;
              ++count;
        }
        n = int(n*pow(10,count));//x = n*pow(10,count);
        printf("%d\n",n);
        n = n + i;//x = x + i;
        printf("So theo he bat phan la: %d",n);
        getch();
        return 0;
    }
    Vấn đề là kô hiểu sao kq của biến n lại bị trừ đi 1, nhưng đặc biệt là nó chỉ bị -1 khi trong khoảng 127<n<512, ngoài khoảng này thì bình thường, nếu thêm biến double x thì kô nói rồi, đệ chỉ muốn hỏi sao nó chỉ bị -1 trong khoảng trên, mọi người có thể thử.
    Xin phép được cám ơn trước.

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

    Lỗi tại hàm pow?
    Hôm trước có bạn cũng bị như bạn khi kết quả của pow(10,2) = 99 nếu ép kiểu sang int. Lí do hàm pow trả lại kết quả là 1 số thực chứ không phải số nguyên, cho nên kết quả hàm pow đôi lúc sẽ nhỏ hơn kết quả thực của nó 1 đơn vị nếu bị ép sang kiểu nguyên.
    Để khắc phục bạn nên cho hàm round trước hàm pow.
    round(pow(k,x)) -> chính xác

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

  1. Chuyển đổi hệ thập phân sang nhị phân
    Gửi bởi phonghieu45 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 11-10-2012, 08:42 PM
  2. Lập trình C++ Chuyển từ chuyển từ trung tố sang hậu tố và tính biểu thức hậu tố N chữ số như thế nào?
    Gửi bởi Chopper 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: 22-08-2012, 09:48 PM
  3. Mã nguồn C++ Lớp phân số và Hàm chuyển đổi số thập phân sang phân số.
    Gửi bởi doicanhden trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 04-06-2012, 03:39 PM
  4. chuyển sang hệ thập lục phân
    Gửi bởi tungtaynguyen 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: 29-12-2008, 10:57 AM
  5. bác nào có thể hướng dẫn em bài toán chuyển từ hệ nhị phân sang hệ thập phân
    Gửi bởi leanh2 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 28-11-2008, 08:56 PM

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