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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2013, 13:45   #1
Любимый_1
Новичок
Джуниор
 
Регистрация: 06.10.2013
Сообщений: 2
По умолчанию Функция изменяет старший байт числа на заданное значение,не изменяя младший байт ( C++ )

Функция изменяет старший байт числа на заданное значение,не изменяя младший байт.Помогите пожалуиста и как можно проще
Любимый_1 вне форума Ответить с цитированием
Старый 06.10.2013, 14:00   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Число двухбайтовое?
Код:
x = ((a & 0xFF) << 8) | (x & 0xFF);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.10.2013, 19:53   #3
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Код:
#include <stdio.h>

template<typename T>
inline T set_hibyte(T val, unsigned char cb){
     const int n = (sizeof(T) << 3) - 8; 
     return (val & ~(0xFF << n)) | ((T)cb << n);
}


int  main(void) {
    unsigned short val = 0x1234; // word
    printf("src: %X\n", val);
    printf("dst: %X\n", set_hibyte(val, 0xEF));

    unsigned int val1 = 0x12345678; // dword
    printf("src: %X\n", val1);
    printf("dst: %X\n", set_hibyte(val1, 0xAB));
    return 0;
}
Пример работы кода
Nuklon вне форума Ответить с цитированием
Старый 07.10.2013, 16:42   #4
Любимый_1
Новичок
Джуниор
 
Регистрация: 06.10.2013
Сообщений: 2
По умолчанию

Большое спасибо
Любимый_1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конверт Real числа в 6 байт bizkitlimp Общие вопросы Delphi 4 04.12.2012 15:03
Билдер изменяет значение переменно CodeNOT Общие вопросы C/C++ 2 04.01.2011 20:07
Найти байт максимальным количестов единиц и байт с максмальным количеством нулей и разность (ассемблер) Beren42 Помощь студентам 0 15.12.2010 20:32