Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
LiaoDzan

Запихнуть в массив байт в шестнадцетеричном формате

16.08.2006, 17:48. Показов 3119. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Вопросец вот такой:

Есть у меня строка, надо длину этой строки запихнуть в массив байт в шестнадцетеричном формате, размер массива 2 байта, например

если длина строки = 1, то

byte[0] = 0x00

byte[1] = 0x01,

если длина строки = 12, то

byte[0] = 0x00

byte[1] = 0x0C и т.д.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2006, 17:48
Ответы с готовыми решениями:

Как массив байтов (1 байт на пиксель (изображение в оттенках серого) запихнуть в Bitmap и отобразить в PicterBox?
Здравствуйте! Мне понадобилось каждое входящее изображение переводить в изображение в градациях серого (256 цветов). В Bitmap, я так понял,...

Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты
Дан массив из 10 байт. Посчитать количество байт,в которых сброшены 6 и 4 биты. Массив байтов размещается начиная с DS:0000h. Ответ должен...

Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте
Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте.-Assembler помогите пожалуйста

14
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
16.08.2006, 22:49
А что если переформулировать задачу: любое беззнаковое целое число от 0 до 65535 включительно нужно запихать в два байта. Кста, порядок имеет значение =)



int n = ...;

byte[] bx = new byte[2];

bx[0] = (byte)n;

bx[1] = (byte)(n >> 8);



вроде все =)



Да, учти, что число в n представлено в дополнительном коде.
0
danii
17.08.2006, 13:17
мб так?



public byte[] getLength(String str){

return

Integer.toHexString( str.length() ).getBytes();

}




4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
17.08.2006, 15:24
2 danii:

А ты запусти! На полном серьезе, запусти, и напиши сюда результат =) А еще лучче будет, если ты сможешь обяснить его.
0
danii
17.08.2006, 16:20
да конечно



private char[] getLength(String str){

return Integer.toHexString( str.lengt() ).toCharArray() ;

}





при такой постановке, задача не имеет корректных решений,

в этом я согласен
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
17.08.2006, 16:22
Опять неверно. Обрати внимание на постановку задачи =)
0
danii
17.08.2006, 16:32
в такой постановке задача не имеет коррекных решений



1. длина строки это int - 4 байта

2. b[1] = 0x0c и b[1] = 12 это одно и тоже

3. нужно понимать если старший бит в байте =1,

то это отриц чило, тк byte знаковый
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
17.08.2006, 16:36
Почему ж не имеет? Посмотри мой вчерашний пост =)
0
danii
17.08.2006, 16:42
это Ваше решение проблемы,

я его не отрицаю,

но при его решении Вы использовали

2 "если" ( длина 2 байта, и доп код),

а следовательно конкретизировали постановку..


4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
17.08.2006, 17:10
Ну, да, мое. А чего же вы тогда отрицаете? Вы же сказали: "задача не имеет кореектных решений". Правда, вы еще сказали, что "в такой постановке".



Я не согласен, что я использовал два "если".

1. Два байта -- условие задачи.

2. Доп код. Я не знаю примеров в современных компьтерах, где используется иной код. Да, это конкретизация, ибо без нее условия не полные. Однако,эта конкретизация не мешает решать ее и прямом, и в обратном коде.



А о коде хочешь-нехочешь придется договариваться, равно, ка и о порядке следования байтов (aka big endian, little endian).



Да, если придирваться к словам, то в условии задачи вообще не было сказано ни о каких огранияениях на занчение длины строки. В такой постановке, задача действительно имеет решение, только при доп. условиях.



Однако, мы же люди. И естественный язык подразумевает контекст.



Короче говоря, я всего лишь хотел подтолкнуть вас подумать, почему ваши решения были не верны. Только и всего. И не надо переживать. Все мы учились и продолжаем =))
0
danii
17.08.2006, 17:14
Danissimo (17.08.2006)
2 danii:

А ты запусти! На полном серьезе, запусти, и напиши сюда результат =) А еще лучче будет, если ты сможешь обяснить его.


при использовании getBytes()

в элементе массива будет acsii код соотвествующей цифры hex числа
danii
17.08.2006, 17:18
интересно какой из варианов подошел автору вопроса,

напишите..
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
17.08.2006, 23:01
я бы выбрал вариант Danissimo, он быстрее и правильнее, так как char != byte в Java, byte - 8 бит, тогда как char - 16 бит (2 byte)



С уважением,

Владимир
0
LiaoDzan
18.08.2006, 14:22
Всем спасибо.

Забыл сказать что строка ограничена 4062 символами.

Мне подашел вот такой вариант

buf[0] = (byte) (val >>> 24);

buf[1] = (byte) (val >>> 16);

buf[2] = (byte) (val >>> 8);

buf[3] = (byte) val;



Беру buf[2] и buf[3].
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
18.08.2006, 16:31
Хе-хе, а зачем тогда создавать 4-байтовый массив? =))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.08.2006, 16:31
Помогаю со студенческими работами здесь

Дан массив из 6 байт. Посчитать количество байт число единиц, в которых не превышает 3.
Дан массив из 6 байт. Посчитать количество байт число единиц, в ко- торых не превышает 3. блин люди немогу сделать.

Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы
Здравствуйте, возникла проблема с решением задачи: "Дан массив из 10 байт. Посчитать количество байт содержащих ровно три...

Дан массив из 13 байт. Посчитать количество байт содержащих только нули или единицы
ПОЖАЛУЙСТА! РЕШИТЕ ЗАДАЧКИ!!!:) Задача №1 дан массив из 13 байт. посчитать количество байт содержащих только нули или единицы. ...

Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом
Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом.

Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три
помогите с задачкой! Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три.Вот код,но что тут не правильно...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru