![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот альтернативный похожий вариант
|
|||
|
||||
| DmbITpo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
mes, исправил ошибку.
Вопросик ко всем ещё один. Мне на самом деле надо вот что : Дан текст, надо в каждой его букве таким вот образом переставить биты. Следовательно получиться другой символ. Типа закодировать надо текст таким образом. В связи с этим вопрос - буквы латинского алфавита столько бит имеют? больше 8-и каждая? Это сообщение отредактировал(а) DmbITpo - 10.4.2008, 22:32 |
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 3 Всего: 17 |
буква алфавита имеет стока бит, скока ей назначат
а на компах x86, char - 8 бит, wchar_t - 16 бит. |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
английских букв < 32 а значит для хранения достаточно 5 бит
"первые" 7 бит любой кодировки одинаковы и включают в себя спец символы и буквы английского языка.. для остальных ("национальных") символов зависит от кодировки (для не "стандартных" кодировок может быть как угодно)
в таком случае буква может превратиться в спецсимвол ( например в '\0' - конец строки) - со всеми вытекающими последствиями Это сообщение отредактировал(а) mes - 10.4.2008, 22:57 |
||||||
|
|||||||
| DmbITpo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
В общем исспользую я вот такой код:
При кодировке всё нормально работает. Единственное что, например при перевороте числа 1010011, оно выдаёт 110010100000000000000 (за кол-во нулей не ручаюсь, но много лишних). Как бы мне эти хвосты подчистить? А то мне кажеться из-за этого при "раскодировке" (т.е. применения того же самого кода для зашифрованной строки), получается не первоначальная строка, а какой-то бред и ужас.... Это сообщение отредактировал(а) DmbITpo - 10.4.2008, 23:22 |
|||
|
||||
| blinded |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 16.2.2008 Репутация: нет Всего: нет |
Извиняюсь, описался вправо конечно.... Но сути это не меняет. В приведенных выше примерах со сдвигом тип должен быть беззнаковым |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
так она с 32 мя битами оперирует.. чтоб обрезать результат до 8 бит : x >> (32-8) & 255 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |