Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2015, 18:43   #1
Саша1990
Пользователь
 
Регистрация: 01.02.2015
Сообщений: 16
По умолчанию Закомментировать код

Код:
#include <iostream>
#include <climits>
 
 
void foo(int n)
{
    for ( unsigned int t = 1 << (sizeof(n)*CHAR_BIT - 1); t != 0 ; t >>= 1 )
        std::cout << (int)(bool)(n&t) ;
    std::cout << std::endl ;
}
 
 
int main ()
{
    int n = 0xAABBFFCC ;
    foo(n) ;
}
Саша1990 вне форума Ответить с цитированием
Старый 08.04.2015, 18:57   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,583
По умолчанию

Цитата:
Сообщение от Саша1990 Посмотреть сообщение
Закомментировать код
Готово:
Код:
/*#include <iostream>
#include <climits>
 
 
void foo(int n)
{
    for ( unsigned int t = 1 << (sizeof(n)*CHAR_BIT - 1); t != 0 ; t >>= 1 )
        std::cout << (int)(bool)(n&t) ;
    std::cout << std::endl ;
}
 
 
int main ()
{
    int n = 0xAABBFFCC ;
    foo(n) ;
}*/
Arigato вне форума Ответить с цитированием
Старый 08.04.2015, 21:27   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Arigato, не оценит! И, боюсь, даже не поймёт, о чём речь...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.04.2015, 21:53   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
/*#include <iostream> */ Подключение хедера для вывода в консоль
/*#include <climits>*/ Подключение хедера с описаниями констант с размерами типов данных архитектуры ЭВМ
 
 
/*void foo(int n)*/ Функция, принимающая число для разложения его в двоичный код
/*{*/ Открывающая скобка этой функции - начало ее тела

/*for ( */ Цикл для перевода в двоичное представление
   В котором будет работать переменная "t", в пределах от числа, в котором самый старший бит установлен до нуля
   /* unsigned int t = 1 << (sizeof(n)*CHAR_BIT - 1); */
  /*  t != 0 ; */ Это условие окончания цикла
 /*   t >>= 1 */ и на каждом шаге цикла будет проверяться очередной бит
   в переменной "n"
 /*)*/ Это синтаксическая необходимость - закрывающая скобочка для цикла
*/

Тут мы сверяем установлен ли в числе "n" бит, определенный в "t", превращая 
результат сверки в число - если бит установлен - 1 иначе 0
И выводим его в консоль
 /*       std::cout << (int)(bool)(n&t) ;*/
/*  std::cout << std::endl ;*/ После чего переводим каретку консоли на новую строку
/*}*/ Это скобочка окончания тела процедуры
 
 
/*int main ()*/ Это архифункция.  Она самая главная. С нее начинается родина.
/*{*/ А это ее скобочка. НАчало тела функции
/*    int n = 0xAABBFFCC ;*/ Мы задаем некое число, описанное в х16 формате
/*    foo(n) ;*/ И заставляем функцию перевода с ним работать
/*}*/ Тело архифункции закончено
Устроит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.04.2015, 23:34   #5
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
/*#include <iostream> */ Подключение хедера для вывода в консоль
/*#include <climits>*/ Подключение хедера с описаниями констант с размерами типов данных архитектуры ЭВМ
 
 
/*void foo(int n)*/ Функция, принимающая число для разложения его в двоичный код
/*{*/ Открывающая скобка этой функции - начало ее тела

/*for ( */ Цикл для перевода в двоичное представление
   В котором будет работать переменная "t", в пределах от числа, в котором самый старший бит установлен до нуля
   /* unsigned int t = 1 << (sizeof(n)*CHAR_BIT - 1); */
  /*  t != 0 ; */ Это условие окончания цикла
 /*   t >>= 1 */ и на каждом шаге цикла будет проверяться очередной бит
   в переменной "n"
 /*)*/ Это синтаксическая необходимость - закрывающая скобочка для цикла
*/

Тут мы сверяем установлен ли в числе "n" бит, определенный в "t", превращая 
результат сверки в число - если бит установлен - 1 иначе 0
И выводим его в консоль
 /*       std::cout << (int)(bool)(n&t) ;*/
/*  std::cout << std::endl ;*/ После чего переводим каретку консоли на новую строку
/*}*/ Это скобочка окончания тела процедуры
 
 
/*int main ()*/ Это архифункция.  Она самая главная. С нее начинается родина.
/*{*/ А это ее скобочка. НАчало тела функции
/*    int n = 0xAABBFFCC ;*/ Мы задаем некое число, описанное в х16 формате
/*    foo(n) ;*/ И заставляем функцию перевода с ним работать
/*}*/ Тело архифункции закончено
Устроит?
Awesome! вот это стиль. ++ спасибо Виталий!
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно закомментировать программу(С++) Саша1990 Помощь студентам 2 31.03.2015 04:41
Нужно закомментировать программу(С++) Саша1990 Помощь студентам 1 30.03.2015 16:32
Закомментировать в .rc zvygin1964 Помощь студентам 1 03.03.2015 16:12
Помогите закомментировать задачу alina1995 Общие вопросы C/C++ 3 10.12.2014 19:10