Я читаю значения от датчиков и получаю два 16-разрядных значения Hex в строковых форматах «417D» и «8380», например.Передача шестнадцатеричной строки в свойстве textbox.text в BitConverter.GetBytes как hex в C#
Я не могу найти способ в C# для анализа строк, чтобы разбить их на байтовый массив (41,7D, 83,80), сохранив шестнадцатеричное число.
Затем для преобразования значения IEEE754 в десятичное число используется следующее значение, чтобы получить правильное значение считывания датчика.
txtFloatValue.Text = BitConverter.ToSingle(hex, 0).ToString();
ниже код работает, но мне нужно, чтобы передать данные в виде шестигранной массива, а не 0x417D8380.
byte[] hex = BitConverter.GetBytes(0x417D8380);
txtFloatValue.Text = BitConverter.ToSingle(hex, 0).ToString();
Любой совет будет очень благодарен. Возможно, я ошибаюсь, но преобразование IEEE754 работает хорошо.
Не совсем уверен, что вы начинаете с и где вы пытаетесь идти, но вы можете разобрать шестнадцатеричной строки с 'int.Parse («417D», NumberStyles.AllowHexSpecifier);' Вы можете затем используйте 'GetBytes' и' BitConverter', как в вашем втором фрагменте кода. –
Шестнадцатеричный - это ** представление **. Что вы подразумеваете под «сохранением шестнадцатеричного числа»? Какой _exactly_ ваш вопрос? _ «Как преобразовать две шестнадцатеричные строки в' single'? _? – CodeCaster