Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //Перевод в любую систему счисления
- int main()
- {
- int ss;
- char ms[20];
- char znak='+';
- int t,i,num1,k1=10,k2=11;
- double num;
- printf("Enter number\n");
- scanf("%lf",&num);
- printf("Enter accuracy\n");
- scanf("%d",&t);
- if(t<=0)
- {
- printf("Incorrect accuracy! Try again.\n");
- main();
- }
- printf("Enter the base the scale of system\n");
- scanf("%d",&ss);
- if(ss<=1)
- {
- printf("Incorrect system! Try again.\n");
- main();
- }
- if (num < 0) {
- znak = '-', num *= -1;
- }
- num1=num;
- num-=num1;
- while(num1>=ss)
- {
- i=num1%ss;
- num1/=ss;
- if (i > 9) {
- ms[k1--] = i - 10 + 'A';
- } else {
- ms[k1--] = i + '0';
- }
- }
- if (num1 > 9) {
- ms[k1--] = num1 - 10 + 'A';
- } else {
- ms[k1--] = num1 + '0';
- }
- ms[k1]=znak;
- ms[k2++]='.';
- while(num!=0 && k2-11<=t)
- { num=(num*=ss,i=num,num-=i);
- ms[k2++]=(i>9) ? i-10+'a': i+'0'; }
- for(i=k1;i<k2;i++)
- printf("%c",ms[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement