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

Перевод значения в байт

13.03.2012, 13:08. Показов 2818. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
И так у меня есть значение длины запроса:
C#
1
int lengh = request.Length;
И мне нужно его передать в 16-ричной системе, то есть если у нас к примеру длина 33 то 33->16 = 21 ну вот и байт должен получиться 0х21 кто мне подскажет как это сделать программно ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2012, 13:08
Ответы с готовыми решениями:

Перевод строки в массив байт
Народ помогите пожалуйста . Есть текст , который записан в стринговой переменной , как я понимаю...

Перевод числа из строки в байт
При переводе строки типа 10101010 почему-то получается 01010101, и наоборот при переводе 01010101...

Перевод байт в мегабиты
Всем привет. Требуется перевести байты в мегабиты. Конкретно нужно замерить ширину канала....

Перевод строки в массив байт
люди срочно помогите как перевести строку например s:='windows' в массив байт ArrayByte:array of...

12
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
13.03.2012, 13:14 2
C#
1
string lengh = string.Format("0x{0:X}", request.Length);
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
13.03.2012, 13:15 3
C#
1
Convert.ToByte
1
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 46
13.03.2012, 13:22 4
делать ничего не надо... значение не меняется, меняется только его представление:

например при выводе в файл:

writeln("десятичная система:{0:d} шестнадцетиричная система:{1:X}",lengh,lengh);
0
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
13.03.2012, 13:24  [ТС] 5
Цитата Сообщение от Konctantin Посмотреть сообщение
C#
1
string lengh = string.Format("0x{0:X}", request.Length);
Дело в том что да ответ получаеться 0х45 и т.д но а как его перевести в бит?
Получиться строка которая в запросе уйдет такой же, а мне надо 1 символ.
Цитата Сообщение от Бухрыч Посмотреть сообщение
делать ничего не надо... значение не меняется, меняется только его представление:

например при выводе в файл:

writeln("десятичная система:{0:d} шестнадцетиричная система:{1:X}",lengh,lengh);
Мне нужно отправить по сокетам байт. А он получаеться с того что его значение это длина запроса, только в 16-ричной системе.
Цитата Сообщение от iva_a Посмотреть сообщение
C#
1
Convert.ToByte
Окей корветну я чило 32 что получиться? Правильно получиться два байта 33 и 32.
0
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
13.03.2012, 13:33 6
такой вариант не подойдёт?
C#
1
BitConverter.GetBytes(lengh)
1
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
13.03.2012, 13:42  [ТС] 7
Цитата Сообщение от silicium Посмотреть сообщение
такой вариант не подойдёт?
C#
1
BitConverter.GetBytes(lengh)
Нет не пожходит, проблема в том что мне нужен один байт который будет иметь значение пепременой инт в 16- ричной системе вы понимаете или нет?

Смотрите вот видите два байта 33 и 35 а должен быть один такой 35 перевожу в 16-ричную = 23 байт должен быть 1 со значением 23
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
13.03.2012, 13:51 8
Bолодя, Что за бред несете? Просто формат числа в 16-ое. Вы видимо никак не можете понять, что число само по себе хранится как двоичное, а десятичное, шестнадцатиричное и т.д. - просто представление числа, не более того
0
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
13.03.2012, 13:53  [ТС] 9
ForEveR, бред? Вы уверены? Мне нужно отправить длину запроса 1 байтом. Если длина равна 35 то я отправляю байт 23, это по вашему мнению бред?
0
194 / 193 / 17
Регистрация: 07.11.2010
Сообщений: 477
13.03.2012, 13:57 10
Один байт - это число в диапазоне 0..255
byte lengh = (byte) request.Length;
его и отправляйте
0
Эксперт .NET
17791 / 12942 / 3381
Регистрация: 17.09.2011
Сообщений: 21,219
13.03.2012, 13:59 11
Bолодя, я не ForEveR, но отвечу за него: да, то что вы пишете - бред.
Если длина запроса не превышает 255, то просто откастите целое в байт и отсылайте его:
C#
1
byte length = (byte)request.Length;
В памяти числа хранятся только в двоичном виде, а как они выводятся на экран - дело десятое, не имеющее никакого отношения к передаче этих данных по сети.
2
2 / 2 / 0
Регистрация: 29.09.2011
Сообщений: 113
13.03.2012, 14:04  [ТС] 12
Цитата Сообщение от Leax Посмотреть сообщение
Один байт - это число в диапазоне 0..255
byte lengh = (byte) request.Length;
его и отправляйте
Вот вот это ответ эксперта, спасибо большое.
0
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
13.03.2012, 15:51 13
т.е. вам нужно послать некоторый символ, ASCii код которого равен 0x23?
0
13.03.2012, 15:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2012, 15:51
Помогаю со студенческими работами здесь

Перевод строки в массив байт
Доброго времени суток. Мне нужно сделать класс длинных целых чисел как массив байт. Вопрос в...

Перевод из массива байт в целое число
Добрый день уважаемые форумчане есть вопросик, я даже не знаю как его правильно сформулировать,...

Перевод указателя на N байт в файловом потоке
Добрый день, помогите пожалуйста. Есть структура: struct Mystruct { char surname; //...

Перевод массива байт в строку и обратно
Здравсвуйте, в результате шифрования есть некоторая последовательность байт. Как преобразовать эту...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru