Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

jonnydo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые форумцы, помогите с такой задачкой:  
Суть задания: ввести с клавиатуры тип данных, из числа  
стандартных, предложенных Вами и по возможности  
в том числе и сплавающей запятой. Далее вводится система счисления, также  
из числа предложенных, и само данное с проверкой на корректность вводимых  
цифр и диапазона самого данного. Вывести внутреннее двоичное представление  
этого данного, используя поразрядные логические операции.  
 
Сделал ввод и и вывел их двоичное представление, но не догоняю зачем переводить в разные системы счисления, обьясните дураку что именно требуется сделать? Спасибо за помощь!  
 
Код программы  

Код:
 
#include <iostream>  
#include <climits>  
#include <cstdlib>  
using namespace std;  
   
void print(const unsigned char* data, std::size_t size)  
{  
    for(int i = 0; i < size; ++i)  
    {  
        unsigned char mask = 1 << (CHAR_BIT - 1);  
        while(mask)  
        {  
            std::cout << ((data[i] & mask) ? 1 : 0);  
            mask >>= 1;  
        }  
        std::cout << " ";  
    }  
}  
   
int main(int argc, char* argv[])  
{  
   
int action,p;  
cout<<"***MENU***\n";  
cout<<"1 - Long int \n";  
cout<<"2 - Float \n";  
cout<<"3 - Double \n";  
   
cout<<"ESC - exit\n";  
cin >> action;  
//cout<<"Input notation\n";  
switch(action)  
{  
  case 1:  
  {  
    std::cout << "Input a long int: " << std::flush;  
    long int i;  
    std::cin >> i;  
    print(reinterpret_cast<unsigned char*>(&i), sizeof(i));  
    std::cout << std::endl;  
     break;  
  }  
  case 2:  
  {  
    std::cout << "Input a float: " << std::flush;  
    float f;  
    std::cin >> f;  
    print(reinterpret_cast<unsigned char*>(&f), sizeof(f));  
    std::cout << std::endl;  
    break;  
  }  
  case 3:  
  {  
    std::cout << "Input a double: " << std::flush;  
    double d;  
    std::cin >> d;  
    print(reinterpret_cast<unsigned char*>(&d), sizeof(d));  
    std::cout << std::endl;  
    break;  
  }  
  default:  
    std::cout << "Invalid action" << std::endl;  
}  
   
system("pause");  
    return 0;  
}  

Всего записей: 3 | Зарегистр. 09-05-2018 | Отправлено: 21:18 09-05-2018 | Исправлено: jonnydo, 21:23 09-05-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru