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

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

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 01:50   #1
amdbodia
Пользователь
 
Аватар для amdbodia
 
Регистрация: 13.05.2009
Сообщений: 71
По умолчанию Беззнаковое однобайтное число

Общаюсь с контроллером. Надо паковать пакет и считать контрольную сумму. Контрольная сумма - простая сумма всех байтов пакета, приведённая к одному байту (старшая часть теряется). В Си и ASM это делается элементарно (берутся только младшие 8 байт суммы, переполнение не учитывается). Java вызвал затруднение.
Для того, чтоб нормально работать с контроллером, я использую тип данных char (единственный беззнаковый). Но, если я делаю так:

Код:
theCheckSumm=(char)(checkSumm&0xFF);
то theCheckSumm может занимать больше 8 байт (проблема, скорее всего в том, что он, сначала, преобразуется в int, а потом в char). Сдвиг тоже не помогает. В общем, может есть какой-то путь решения проблемы?
amdbodia вне форума Ответить с цитированием
Старый 28.01.2012, 00:08   #2
dox07
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 26
По умолчанию

я полагаю что тут имеет значение какой тип данных имеет переменная checkSumm и литерал 0xFF, насколько я понимаю последний из них как раз имеет тип или short или int. В java 7 появилась возможность записи в двоичном виде чисел http://docs.oracle.com/javase/7/docs...-literals.html однако не знаю поможет ли это..
dox07 вне форума Ответить с цитированием
Старый 17.04.2012, 21:47   #3
Dmios
Новичок
Джуниор
 
Регистрация: 17.04.2012
Сообщений: 4
По умолчанию

Если общаетесь с контроллером, которому нужны только байты, то можно попробовать везде использовать тип int и DataOuputStream.writeByte(int). У меня такое прокатывало и железка успешно отвечала на запросы.
Dmios вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из ячейки содержащей текст и число извлечь только число? АННА-ЕАО Microsoft Office Excel 35 02.12.2016 23:16
вводишь число- дает комбинацию из сумм различных чисел (от 1 до 10)составляющих это число Jonfree C++ Builder 0 05.12.2011 22:08
Написать программу, которая за меньшее число ходов отгадывает загаданное число gomz007 Помощь студентам 16 08.11.2009 12:57
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43