Преобразуйте неподписанный интервал на 16 битов в интервал на 16 битов со знаком в C#

Я пишу datalog синтаксический анализатор для контроллера робота, и что входит от журнала данных, число в диапазоне 0 - 65535 (который является целым числом без знака на 16 битов, если я не ошибаюсь). Я пытаюсь преобразовать это в целое число на 16 битов со знаком для отображения пользователю (так как это было фактическим типом данных, прежде чем регистратор изменил его).

Кто-то может дать мне руку?

Пример:

Чем значения должны быть (0,-1,-2,-3,-4)

Что значения (0, 65535, 65534, 65533, 65532)

6
задан Dylan Vester 31 January 2010 в 04:48
поделиться

1 ответ

Вы пробовали эксплицитное кастинг?

UInt16 x = 65535;
var y = (Int16)x; // y = -1
12
ответ дан 9 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: