Đệ 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.