Используя цикл отобразить этап изменения целого числа из 10-ричной системы в 16-ричную. - C (СИ)
Формулировка задачи:
Используя цикл отобразить этап изменения целого числа из 10-ричной системы в 16-ричную.
вот накидал немного не с циклом проблемка
#include<stdio.h> #include<conio.h> main() { float y; int x; printf("Vvedite zeloe chislo:"); scanf("%d",&x); if(x<=9) printf("%d\n",x); else if(x==10) printf("A\n"); else if(x==11) printf("B\n"); else if(x==12) printf("C\n"); else if(x==13) printf("D\n"); else if(x==14) printf("E\n"); else if(x==15) printf("F\n"); else { x=x/16; y=x%16; printf("%f\n",y); printf("%d%d\n",x,y); } printf("%x",x); getch(); return 0; }
вот вроде так но только цикл надо а я не могу понять как его и куда вставить:
#include<stdio.h> #include<conio.h> main() { int x,y,i; printf("Vvedite zeloe chislo:"); scanf("%d",&x); if(x<=9) printf("%d\n",x); else if(x==10) printf("A\n"); else if(x==11) printf("B\n"); else if(x==12) printf("C\n"); else if(x==13) printf("D\n"); else if(x==14) printf("E\n"); else if(x==15) printf("F\n"); else { printf("16-richna=%x\n",x); y=x%16; x=x/16; printf("y=%d\n",y); if(y==10) printf("%dA\n",x); else if(y==11) printf("%dB\n",x); else if(y==12) printf("%dC\n",x); else if(y==13) printf("%dD\n",x); else if(y==14) printf("%dE\n",x); else if(y==15) printf("%dF\n",x); else printf("Otvet=%d%d\n",x,y); } getch(); return 0; }
Решение задачи: «Используя цикл отобразить этап изменения целого числа из 10-ричной системы в 16-ричную.»
textual
Листинг программы
#include<stdio.h> #include<conio.h> main() { int x,y,i=28;// 32-4 char z; printf("Vvedite zeloe chislo:"); scanf("%d",&x); printf("0x"); do { y = (x >> i ) & 0xf; // 4 bit z = (y<10)? y+'0' : y+'7'; // 0||A==10+0x37==0x41 putch(z); if (!i) break; }while ((i-=4) || 1) ; // if int == 32 bit == 8 hex-digit getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью и вводом/выводом данных.
- Объявление переменных: целочисленной x, y, инициализированной значением 28 i и символьной z.
- Вывод приглашения для ввода целого числа.
- Ввод целого числа в переменную x с помощью функции scanf.
- Вывод первых двух символов
0x
. - Запуск цикла do-while, который будет выполняться до тех пор, пока значение i больше или равно 4.
- Внутри цикла происходит следующее:
- Переменная y принимает значение, полученное путем сдвига влево на i бит числа x и последующего маскирования 4-мя нулями.
- Если значение y меньше 10, то к нему добавляется цифра, соответствующая его десятичному значению. Если значение больше или равно 10, то к нему добавляется буква, соответствующая его десятичному значению (например, 10 становится A).
- Полученный символ выводится на экран.
- Если значение i равно 0, то цикл прерывается.
- После окончания цикла выводится приглашение для ввода символа.
- Программа завершается, возвращая 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д