|
|
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Дано число, например, 149 Числа будут от 0 до 255 1)Преобразовать в двоичный вид (есть ли встроенная функция?) 149 = 10010101 2)Если разрядов меньше 8 - дополнить слева 0 (т.е. до байта) 3)Разделить байт по 4 бита. В нашем случае 1001 и 0101 4)Перевисти полученные 2 числа в десятичную форму, т.е. 1001 = 9 и 101 = 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 11:21 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 11:50 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
alexFVДано число, например, 149 Числа будут от 0 до 255 1)Преобразовать в двоичный вид (есть ли встроенная функция?) 149 = 10010101 2)Если разрядов меньше 8 - дополнить слева 0 (т.е. до байта) 3)Разделить байт по 4 бита. В нашем случае 1001 и 0101 4)Перевисти полученные 2 числа в десятичную форму, т.е. 1001 = 9 и 101 = 5 А нельзя ли сделать проще - переводить, например, через 16-ричное представление? Например, число 149: 1. Делим на 16 (149/16=9.3125). 2. Целая часть результата (9) = первое число 3. Остаток от деления (5) = второе число. Или такая постановка дана в задаче? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 12:00 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
А как получилось: Станислав С.3. Остаток от деления (5) = второе число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 12:25 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Станислав C.А нельзя ли сделать проще - переводить, например, через 16-ричное представление? Например, число 149: 1. Делим на 16 (149/16=9.3125). 2. Целая часть результата (9) = первое число 3. Остаток от деления (5) = второе число. Или такая постановка дана в задаче? Решение которое предлагает Роман - наиболее лаконичное. Хотя с точки зрения математики - не обобщающее т.к. не распространяется на другие системы счисления не кратные степени двойки. К тому-же среди программистов-системщиков считается хорошим тоном заменять операции целочисленного деления-умножения на операции логического сдвига/маскирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 12:59 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. А можно подробно объяснить что происходит в этом коде? Что-то я недопогимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 13:14 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
alexFVА можно подробно объяснить что происходит в этом коде? Что-то я недопогимаю Исходный байт (параметр iSrc) делится на две половинки по 4 бита, как вы сказали. Они кладутся в iLow и iHigh. Первую получаем, накладывая маску 0x0F, которая в двоичном представлении выглядит как 00001111, старшие четыер бита обнуляются, а младшие остаются. Получение второй половины можно упростить: iHigh = iSrc >> 4; С помощью операции поразрядного сдвига вправо, старшие четыре бита перетягиваются на место младших четырех. Это равносильно делению на 16. Вот и все, в принципе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 13:46 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. А может кто-нибудь поможет как сделать обратное преобразование?, т.е. 1)Есть 2 числа, например 1 и 2 (числа от 1 до 10) 2)Надо перевести из в двоичное представление, 1 - 00000001 ; 2 - 00000010 3)Откинуть старшие 4 разряда 1 - 0001 ; 2 - 0010 4)Получить из них байт: 0001 и 0010 -> 00010010 5)Перевести в десятичную форму 00010010 -> 18 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 16:10 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 16:15 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Ничего что-то у меня не получается в-общем, что задумано. Изначально, без всяких алгоритмов задача - зашифровать короткий txt-файл. Напрмер, есть файл Fin.txt содержит 2 строки по 2 символа - "ab" Считываем файл fgetc() получаем для каждой строки a=97 и b=98 . Далее у нас есть шифрованная таблица, в кот. a=1, b=2 , приводим в 2 представление по 4 бита а=0001 и b=0010 . Далее делаем байт ab = 00010010 и приводим в 10 форму ab = 18 Полученное число 18*2 = 36 Записываем в Fout.txt символ с ANSI-кодом 36 -> $ Т.е. должно получиться 2 строки в каждой $. Ну и сделать расшифровщик, чтобы два $ обратно превращались в "ab". Может кто-нибудь подскажет как попроще это реализовать? Несколько дней бьюсь - ничего! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 17:20 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
А в "шифрованной" таблице что всего 16 соответствий ? А если встретится символ, например, 'z', номером, допустим, 32 ? Как 32 "запихать" в полбайта ? Я думаю, сначала здесь надо разобраться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 10:35 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Alex VCА в "шифрованной" таблице что всего 16 соответствий ? ? Максимальных соответствий не может быть больше 14. Иначе такая задача и не стояла бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 15:14 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
готов проявить полную тупость, но не понимаю, к чему это: a=97 и b=98 и шифрованная таблица - это ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 15:31 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
13 апостолготов проявить полную тупость, но не понимаю, к чему это: a=97 и b=98 и шифрованная таблица a=97 и b=98 - возвращает fgetc() Под "шифрованной" таблицей понимается таблица где этим 'a' и 'b' ставится в соответствии некоторые числа (от 1 до 14 т.к. сообщения построены таким образом что разных символов не может быть больше 14), для простоты я привел 1 и 2, но может быть 5 и 6 не в этом дело. Потом 'а' и 'b' (1 и 2) превращаем в байт 0001(1)0010(2).Потом этот байт переводим в десятичное число - 00010010=18. Умножаем на 2 18*2 = 36. И в зашифрованный файл записываем символ с ANSI-кодом 36, т.е. '$'. Вот такая задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 15:48 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
теперь очередной вопрос: в чем проблема, если чтение/запись файла ты осуществляешь; алгоритм код/декод у тебя есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 16:41 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
я одно не понел тебе кодировка нужна или уменшения обьема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 16:59 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
13 апостолтеперь очередной вопрос: в чем проблема, если чтение/запись файла ты осуществляешь; алгоритм код/декод у тебя есть? Чтение-то без труда осуществляется, а вот с остальным проблема. Вот я и прошу может кто-нибудь чиркнет код как перевести строку 'ab' в '$' по этому алгоритму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:07 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Guest?я одно не понел тебе кодировка нужна или уменшения обьема ? В итоге должно получиться и то и то, т.е. сообщение зашифровалось и шифрованный файл уменьшился в объеме по сравнению с первоисточником. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:10 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
ну тогда бери по отдельности и напиши алгоритм ;) потом обьединяй и все .. (кодировка не проблема ;) у меня в архиватором были проблемы .. что хотел уже есть новое как то криво выходило ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:13 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
Guest?кодировка не проблема А для меня почему-то проблема, да еще какая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:33 |
|
||
|
Помогите закодить алгоритм
|
|||
|---|---|---|---|
|
#18+
а вот с остальным проблема c чем именно? с кодированием? декодированием? записью в файл? можно же проверить, на чем прога вылетает. шифрованный файл уменьшился в объеме по сравнению с первоисточником гмм... а смысл в таком архивировании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 18:26 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2034007]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 294ms |
| total: | 446ms |

| 0 / 0 |
