2 / 2 / 0
Регистрация: 14.08.2012
Сообщений: 100
|
|
1 | |
Как прописать пол байта нужным значением?25.04.2013, 11:11. Показов 3260. Ответов 5
Метки нет (Все метки)
Всем привет!
Есть, к примеру в байте значение 0х12, а нужно, что б было 0хА2 или 0х1А. Как более изящно это сделать? У меня в два этапа получается. Сначало обнулить изменяемый полубайт через ИЛИ, а потом, опять через ИЛИ "0хА" ему присвоить. Эта мысль посетила меня ночью. Попробовать смогу только дома. Сейчас я на работе и нет возможности проверить. Но, должно ж получиться? Или есть решение за одну операцию? Спасибо!
0
|
25.04.2013, 11:11 | |
Ответы с готовыми решениями:
5
"Заливка" памяти нужным значением Как сравнить DateTime с нужным значением? Как найти в массиве объектов элементы с нужным значением поля? Как заменить столбец матрицы нужным значением и обновленную матрицу вывести в новый компонент? |
2 / 2 / 0
Регистрация: 14.08.2012
Сообщений: 100
|
|
25.04.2013, 23:29 [ТС] | 3 |
Спасибо. И так и так понятно.
Вечером попробую, отпишусь. Хотя, куда оно денется, будет работать Добавлено через 11 часов 48 минут Работает.
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,524
|
||||||
25.04.2013, 23:38 | 4 | |||||
Это как??
через И знаю ну тебе уже lazybiz показал можешь сделать и без масок но переменные должны быть беззнаковые
0
|
2 / 2 / 0
Регистрация: 14.08.2012
Сообщений: 100
|
|
26.04.2013, 00:59 [ТС] | 5 |
Спасибо, я ж написал, что работает, как lazybiz мне помог.
Ваш вариант завтра тоже опробую, для обучения. А переменная таки беззнаковая.
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,524
|
||||||
26.04.2013, 05:27 | 6 | |||||
да
иначе при сдвиге вправо будет копироваться старший(знаковый) бит и никакого выделения не получится смотри на примере 0xF5(1111 0101) выделение старшего полубита сдвиг вправо 0111 1010 0011 1101 0001 1110 0000 1111 сдвиг влево 0001 1110 0011 1100 0111 1000 1111 0000 выделение младшего полубита сдвиг влево 1110 1010 1101 0100 1010 1000 0101 0000 сдвиг вправо 0010 1000 0001 0100 0000 1010 0000 0101 если вспомнить что сдвиг влево это умножение на 2 а сдвиг вправо деление на 2 то тоже самое можно написать арифметическими операциями
0
|
26.04.2013, 05:27 | |
26.04.2013, 05:27 | |
Помогаю со студенческими работами здесь
6
Длительное ожидание элемента с нужным значением Заменить указанную подстроку нужным числовым значением Заменить во введенном строковом выражении указанную подстроку нужным числовым значением Заменить во введенном строковом выражении указанную подстроку нужным числовым значением Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |