Форум программистов, компьютерный форум CyberForum.ru

Перевернуть шестнадцатеричное число oxА28Е - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбор книги http://www.cyberforum.ru/cpp-beginners/thread150732.html
Подскажите какую книгу лучше выбрать для изучения билдера я нашел Borland C++ Builder 5. Энциклопедия программиста,пишут не плохая может вы посоветуете какая лучше
C++ Рекурсия: вычисление корня n-ой степени Вот условие А вот то, что я набросал... Прошу исправить... Зарание спасибо: #pragma argsused #include <stdio.h> #include <conio.h> #include <math.h> float www(double e,int n) {float z1; if (n==0) z1=1; else http://www.cyberforum.ru/cpp-beginners/thread150729.html
C++ что значит ошибка:
фаил компилирую, отдельно от .h-a. вот и cpp и h. оба в одной директории.
если фаилы типа *.h не надо компилирывать, то как выявлять ошибки??? C++
если фаилы типа *.h не надо компилирывать, то как выявлять ошибки???
C++ Списки в С++ http://www.cyberforum.ru/cpp-beginners/thread150694.html
#include<iostream.h> #include "time_1.h" #include<time.h> #include<windows.h> char* Rus (const char* text); class List { public: List (); void insert(List *,char);
C++ Построить таблицу значений функции Заданы массивы A(3) и B(4). Построить таблицу значений функции y=cx2+d при х, меняющемся от 0 до 1 с шагом 0,2, где с –, минимальный элемент массива A; d – минимальный элемент массива B. Ввод элементов массива и поиск минимального элемента оформить в виде подпрограммы. Программа: #include <iostream.h> void vvod(int *,int,char); // как называются и для чего нужны int min(int *,int); //эти... подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.07.2010, 00:01     Перевернуть шестнадцатеричное число oxА28Е
вот задача целиком:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
/* программа производит битовый реверс 16-битного числа и печатает его в двоичном виде */
 
typedef unsigned short WORD16;
 
void printwb(WORD16);
WORD16 wbrev(WORD16);
 
int main()
{
   printwb(0xA28E);        /* печать исходного числа        */
   printwb(wbrev(0xA28E)); /* печать реверсированного числа */
 
   system("pause");
}
 
/* Комментарии к алгоритму перестановки на примере числа 0xA28E   //
// 1010 0010 1000 1110 - исходное число                           //
// 0101 0001 0100 1101 - ...                                      //
// 0101 0100 0001 0111 - битовый реверс каждого байта в слове     //
// 0100 0101 0111 0001 - перестановка байт в полусловах           //
// 0111 0001 0100 0101 - перестановка полуслов                    */
WORD16 wbrev(WORD16 X)
{
   X = (X & 0x5555) << 1 | (X >> 1) & 0x5555;
   X = (X & 0x3333) << 2 | (X >> 2) & 0x3333;
   X = ((X >> 4) & 0x0F0F) | ((X & 0x0F0F) << 4);
   X = (X << 8) | (X >> 8);
   return X;       
}
// Печать числа в двоичном виде
void printwb(WORD16 X)
{
   for (int n = (sizeof(WORD16)*8 - 1); n >= 0; n--)
   {
      printf("%x",((X >> n) & 1));
 
      if(n%4 == 0)
         printf(" ");
   }
   printf("\n");
}
Добавлено через 5 минут
Цитата Сообщение от easybudda Посмотреть сообщение
Только мне логику их осмысливать лениво, а запомнить, что там с чем и как менять надо тоже сложно...
да тут несложно (раньше я тоже пугался, но после лекций о ассемблеровском программировании (для цифровые сигнальных процессоров TMS) вообще мелочи О_о).
задачка типичная, алгоритм перестановки древний как мир (в комментариях указал, что делает каждая строка в функции), а там можно и налету такие функции шпарить.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru