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

В числе 15 поменять местами младший и старший байты - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу ввода координат двух точек и вычисления расстояния между ними http://www.cyberforum.ru/cpp-beginners/thread113882.html
Практическая работа №9 ТЕМА: «Программирование структур и объединений в С++» Цель: изучить работу структур и объединений в С++. Тип урока: практическая работа. Количество часов: 4. Необходимое программное обеспечение: Visual Studio 6 Ent, MS Word. Необходимые сведения из теории:  структуры в С++;  объединения в С++; Упражнения:
C++ потоковый ввод всем привет! ситуация такая: при выполнении считываются только R2 и h, не могу понять, в чем дело. dev-c++ просто выдает "step t = нажмите любую клавишу для выхода", а если запускать через MS Visual C++ выдает ошибку "damage after normal block at ". в чем дело? помогите, пожалуйста, код-то простой вроде. #include <iostream> #include <stdlib.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread113878.html
Текст C++
Привет всем. Помогите с задачей. Дан текст словами, разделенные пробелом. Выдать этот текст по словам. Заранее огромнейшее спасибо
Квадратный корень C++
как вычислить корень из числа в консольном виде , я имею ввиду код для консольного приложения
C++ 2 вопроса про скорость - указатели и строки http://www.cyberforum.ru/cpp-beginners/thread113848.html
Здравствуйте. Скажите, а работа с большими массивами с помощью указателей происходит быстрее (при передаче указателя в функцию), чем если эти же массивы объявлять глобально и работать из функций как с глобальными? И второй вопрос. Что быстрее - встроенные методы класса string или аналогичные самописные (например, compare, length, find)? Спасибо.
C++ Найти сумму и число тех элементов массива, которые попадают на заданный отрезок Помогите написать программу по теме: одномерные массивы. Найти сумму и число тех элементов заданного массива X1,X2, … ,Xn, которые попадают на заданный отрезок. подробнее

Показать сообщение отдельно
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
10.07.2010, 21:03     В числе 15 поменять местами младший и старший байты
Еще как вариант.
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
#include <iostream>
using namespace std;
 
//Функция обменивает байты в переданном блоке данных, номера байтов задаются третим и четвертым параметрами.                                                                                  */
long swap_bytes(void *buf, unsigned long size_b, unsigned long num_b1, unsigned num_b2);
int main(){
    int n=1022221113;
    cout<<n<<endl;
    swap_bytes(&n,sizeof(int),0,sizeof(int)-1);   //меняеться последний с первым.
    cout<<n<<endl;
return 0;
}
 
long swap_bytes(void *buf, unsigned long size_b, unsigned long num_b1, unsigned num_b2){
if(size_b<=1)return -1;              
if(num_b1==num_b2)return -2;         
if(num_b1>=size_b||num_b2>=size_b)return -3; 
char *p = ( char*)buf;   
//Обмен байт с номерами.
char tmp = p[num_b1];
p[num_b1] = p[num_b2];
p[num_b2] = tmp;
//----------------------
return 0;
}
 
Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru