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

Совмещаем два байта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при использовании Tooltip из примера с MSDN http://www.cyberforum.ru/cpp-beginners/thread899337.html
Добрый день. Мне нужно сделать всплывающую подсказку для textBox. С++VS2008 WinForms. нашел это http://msdn.microsoft.com/ru-ru/library/system.windows.forms.tooltip.aspx Использовал пример //...
C++ Вызов перегруженной функции не могу понять в чем дело? #include <iostream> #include <time.h> #include <stdio.h> using namespace std; //Прототипы функций bool LeapYear(int Year); //Определения высокосного года int restart(char answer); ... http://www.cyberforum.ru/cpp-beginners/thread899336.html
C++ рекурсия
здравствуйте! я начал изучать с++... дошел до функций (а именно рекурсии)... я понял, что рекурсия-это функция, которая сама себя вызывает.. так вот.. я решил написать примитивную программу для...
Составить программу вычисления корней по итерационной формуле C++
C++ Составить программу нахождения корней нелинейного уравнения http://www.cyberforum.ru/cpp-beginners/thread899305.html
Составить программу нахождения корней нелинейного уравнения методом простой итерации с точностью вычисления E.
C++ Программа - Вычислить предел Написать программу для вычисления предела. Заранее благодарю подробнее

Показать сообщение отдельно
RoboMaster
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 32

Совмещаем два байта - C++

12.06.2013, 12:09. Просмотров 266. Ответов 0
Метки (Все метки)

Привет всем. У меня вопрос. Пишу CRC16(Modbus) для МК AVR, у которых однобайтовые регистры приема информации(т.е. передать я не могу 2 байта сразу).

В Code::Blocks решил просимулировать ситуацию, вроде всё верно, а результат не тот получаю... У меня имеет 2х байтовая переменная int16_t d и две однобайтовые переменные b и с, должен получить результат 1500, а получаю -36, когда меняю однобайтовые переменные на двухбайтовые всё верно получается. Как быть?

C
1
2
3
4
5
6
7
8
int main()
{
    char b=0xDC, c=0x05; //0x05dc = 1500
    int16_t d;
    d = (b|c<<8);
    printf("%d\n",d);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru