Mình code thì ko biết sao đoạn chuyển số âm bị sai, các pro có thể sữa lại được ko?
Mình biết dân coder rất khó chịu khi đọc code của người khác nhưng mongcác bạn chịu khó giúp mình nha
Thanks nhiều
#include <stdio.h>
#include <math.h>
#include <conio.h>
int a[17];
int n;
int coSo = 2;
void nhap(); //Ham nhap so n
void nhap()
{
printf("Nhap so nguyen n can chuyen sang dang nhi phan: ");
scanf("%d", &n);
}
void chuyendoi(int x); // Ham chuyen so duong x sang dang nhi phan
void chuyendoi(int x)
{
int i, dem = 16;
while (x > 0)
{
a[dem] = x % coSo;
x = x / coSo;
dem--;
};
}
void bu2(); // Ham chuyen sang dang bu 2, de bieu dien so am
void bu2()
{
int j, nho = 1;
for (j = 16; j >= 1; j--)
{
a[j] = ~ a[j];
a[j] = a[j] + nho;
nho = a[j] / 2;
a[j] = a[j] % 2;
};
}
int main()
{
int i;
nhap();
for (i = 1; i <= 16; i++)
a = 0;
if (n < 0)
{
chuyendoi(-n);
bu2();
}
else
chuyendoi;
printf("Bieu dien cua so %d o dang nhi phan la: \n", n);
for (i = 1; i <= 16; i++)
printf("%d", a);
getch();
return 0;
}
Mình biết dân coder rất khó chịu khi đọc code của người khác nhưng mongcác bạn chịu khó giúp mình nha
Thanks nhiều
#include <stdio.h>
#include <math.h>
#include <conio.h>
int a[17];
int n;
int coSo = 2;
void nhap(); //Ham nhap so n
void nhap()
{
printf("Nhap so nguyen n can chuyen sang dang nhi phan: ");
scanf("%d", &n);
}
void chuyendoi(int x); // Ham chuyen so duong x sang dang nhi phan
void chuyendoi(int x)
{
int i, dem = 16;
while (x > 0)
{
a[dem] = x % coSo;
x = x / coSo;
dem--;
};
}
void bu2(); // Ham chuyen sang dang bu 2, de bieu dien so am
void bu2()
{
int j, nho = 1;
for (j = 16; j >= 1; j--)
{
a[j] = ~ a[j];
a[j] = a[j] + nho;
nho = a[j] / 2;
a[j] = a[j] % 2;
};
}
int main()
{
int i;
nhap();
for (i = 1; i <= 16; i++)
a = 0;
if (n < 0)
{
chuyendoi(-n);
bu2();
}
else
chuyendoi;
printf("Bieu dien cua so %d o dang nhi phan la: \n", n);
for (i = 1; i <= 16; i++)
printf("%d", a);
getch();
return 0;
}