Перевести числа из одной системы исчисления в другую - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать программу, в которой с помощью параметров вводимых с клавиатуры Р1, Р2, Р3 и Р4, формируется число А16 и выводится на экран в шестнадцатеричном формате. 2. Написать программу, которая считывала с клавиатуры число А16 в шестнадцатеричном формате и выводила значения параметров Р1, Р2, Р3 и Р4. параметры Р2, Р3 и (Р4) должны быть выведены в виде десятичных чисел, а параметр Р1 - в виде словесного выражения, как указано в варианте. Вот написал, но в ней что то не правильно(
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
 
void main() // Var 5
{
int A16 = 0, P1, P2, P3, P4;
int m1,m2,m3,m4;
printf ("Task 1\n");
 
do
{
printf ("Enter p1(0-1):");
scanf("%d", &P1);
if (P1!=1 && P1!=0)
printf("ERROR. Try again. . .\n\n");
else ;
}
while (P1!=1 && P1!=0); 
 
do
{
printf ("Enter p2 (0-15):");
scanf("%d", &P2);
if (P2 > ((1«5)-1))
printf("ERROR.\n\n");
else if (P2 < 0) 
printf("ERROR.\n\n");
else ;
}
while (P2 > ((1«5)-1), P2 < 0);
 
do
{
printf ("Enter p3 (0-15):");
scanf("%d", &P3);
if (P3 > ((1«5)-1))
printf("ERROR.\n\n");
else if (P3 < 0) 
printf("ERROR.\n\n");
else ;
}
while (P3 > ((1«5)-1), P3 < 0);
 
do
{
printf ("Enter p4 (0-15):");
scanf("%d", &P4);
if (P4 > ((1«5)-1))
printf("ERROR.\n\n");
else if (P4 < 0) 
printf("ERROR.\n\n");
else ;
}
while (P4 > ((1«5)-1), P4 < 0);
 
P1 = P1 « 15;
P2 = P2;
P3 = P3 « 4;
P4 = P4 « 8;
 
A16 = P1+P2+P3+P4;
printf ("A16(16) = %x, A16(10) = %d", A16, A16);
 
_getch();
 
printf ("\n\n\nTask 2:\n");
A16 = 0;
 
do
{
printf ("Enter A16:\n");
scanf("%x", &A16);
if (A16 <0 || A16 > 65536)
{
printf("ERROR. Try again. . .\n");
}
else ;
 
}
while (A16<0 || A16> 65536); 
 
m1 = 1 « 15;
m2 = 15;
m3 = 15 « 4;
m4 = 15 « 8;
 
P1 = A16 & m1;
P2 = A16 & m2;
P3 = A16 & m3;
P4 = A16 & m4;
 
P1 = P1 » 15;
P2 = P2;
P3 = P3 » 4;
P4 = P4 » 8;
 
switch (P1)
{
case 0:
printf ("P1: Obmen baitami(0)\n");
break;
case 1:
printf ("P1: Obmen dvuhbaitovymi slovami(1)\n");
}
 
printf ("P2 = %d\n", P2);
printf ("P3 = %d\n", P3);
printf ("P4 = %d\n", P4);
 
_getch();
 
}

Решение задачи: «Перевести числа из одной системы исчисления в другую»

textual
Листинг программы
while (P2&0xFFFFFFF0)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5
Похожие ответы