Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 2
Регистрация: 18.08.2014
Сообщений: 46

Получить ushort из byte[]

02.10.2014, 09:44. Показов 3076. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть byte[] linkResponse из него надо получить ushort из 5(старшего) и 6(младшего) байта, подскажите как это лучше сделать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.10.2014, 09:44
Ответы с готовыми решениями:

Переменную типа ushort разделить на 2 Byte
Здравствуйте, Господа. Раньше программировал на Делфи, перехожу на шарп. нужен код, который бы разделил число на два байта. Есть...

Получить содержимое long как byte[4]
а я не в курсе. подскажите кто-нибудь как это делают. Добавлено через 14 минут нашел такое решение: using...

Как получить массив byte[] из string?
Я получаю так: byte encodeBytes = Encoding.ASCII.GetBytes(encodeData); // string encodeData; Но насколько это правильно?...

5
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
02.10.2014, 09:59
Если правильно понял:
C#
1
var newData  =  (ushort)((linkResponse[5]<<8) + linkResponse[6]);
Добавлено через 4 минуты
либо так:
C#
1
newData = BitConverter.ToUint16(new[]{linkResponse[5],linkResponse[6]});
Хотя нет, младший байт по младшему адресу же (Little Endian):
C#
1
newData = BitConverter.ToUint16(new[]{linkResponse[6],linkResponse[5]});
1
1 / 1 / 2
Регистрация: 18.08.2014
Сообщений: 46
02.10.2014, 10:09  [ТС]
вполне изящно, спасибо
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
02.10.2014, 12:08
Можно еще простой арифметикой склеить:
C#
1
ushort result = (ushort)(linkResponse[4] * 0x100 + linkResponse[5]);
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
02.10.2014, 12:11
kolorotur, будет ли заметна разница в скорости операций, если все это проделывать в каком-нибудь большом цикле? (умножение медленнее сдвига вроде)
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
02.10.2014, 13:55
Цитата Сообщение от IamRain Посмотреть сообщение
будет ли заметна разница в скорости операций, если все это проделывать в каком-нибудь большом цикле?
Теоретически — будет, по указанной вами причине.

А практически — время ожидания между получением данных при операциях ввода/вывода с точки зрения процессорного времени настолько огромно, что запилить такой цикл, где разница между умножением и сдвигом двух байт при обработке окажет какое-то влияние — это надо очень сильно постараться.
Например, если обмен сообщениями происходит раз в 40мс, то какая нам разница, если мы скостим пару микросекунд времени? Все равно 39.999998мс сидеть и в носу ковыряться до следующего сеанса.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2014, 13:55
Помогаю со студенческими работами здесь

Как получить int из массива byte
Добрый день! Есть массив байт byte bytes = {0,0,0,1}. Как известно, int (Int32) состоит из 4х байт. Как этот массив можно преобразовать...

Запрос в byte[], получить ответ в string
Проверяю библиотеку, мне нужно отправить массив байт и вызвать FirmwareVersion , чтобы убедиться что версия получена, FirmwareVersion это...

Как получить кадры из видео которое byte[]?
Есть видео в виде массива байтов(то есть прочитаный файл в массив байт). Как с этого видео получить кадры и сохранить их в массив Bitmap...

Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки)
Создать список из целых чисел.Поменять в списке местами максимальный и минимальный элементы Проблемы c процедурами Pos и Chang: пос...

из c# byte получить картинку
Есть массив байтов приходит из веб сервиса Как из этого получить картинку? p.s. мучаюсь 2 дня нечего не получается... пробую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru