Интересний Вопрос!!!Помогите з Битами

Тема в разделе "WASM.CRYPTO", создана пользователем VXCoder, 27 ноя 2006.

  1. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Привет!У меня вопрос:Есть набор бит (WORD) 01101000 10010010
    у каждого бита есть индекс,нужно сохранить индекси битов,чтоби потом установить ети бити у другого WORD
    Example:
    01101000 10010010
    -------------------
    12345678 12345678

    сохраняем позиции битов,как?Незнаю:)

    00000000 00000000
    -------------------
    Востанавливаем!
    01101000 10010010

    Как можна сохранить индекси етих битов?Использовать любой алгоритм!!!
    Заранее Спасибо!
     
  2. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    А не проще просто сохранить
    01101000 10010010
    , а потом восстановить с помощью OR?
    00000000 00000000 OR 01101000 10010010 = 01101000 10010010
     
  3. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    А чем mov и or не подходят?
     
  4. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Я хочу написать Архиватор,каторий сохраняет WORD в Байте,или DWORD в WORD
    Сохраняем индекси бит,в байте,используя некоторий Алгоритм,записуем в файл,потом читаем файл,читаем байт,создаем 0 DWORD(00000000 00000000) и устанавливаем нужние нам бити,каторие били сохранени в байте,как их сохранить???Индекс каждого бита в диапазони [1-16]???
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    блин может надо на при регистрации тест на русский язык ввести? Я конечно понимаю, что это форм по программированию, но всё таки...
     
  6. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    У меня Японская локализация!Потому такой БРЕД:)
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Хе. Нифига какой умный =)
    log 32 = 5, (5 * 32) / 8 = 20 байт. То есть ты "ужимаешь" 4 байта в 20, круто.
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Ну тогда понятно =)
     
  9. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Нужно сохранить не сам DWORD в байте,а только число операций,которое нужно применить,к байту чтоби получить DWORD
    Example:
    01100101 00101101

    Индекси:2,3,6,8,11,13,14,16
    Их сума(73)
    Пишем в байт суму(и сохраняем количество установлених бит),потом читаем байт(Суму) устанавливаем
    ети бити в DWORD и смотрим,равна ли Сума 74!Ето проосто пример,я написал алгоритм которий ето делает только сложнее,много вренмени нужно на расчети!!! Извинити за текст,Японская локализация,сложно писать,потому такой БРЕД:)
     
  10. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    VXCoder
    А что это за алгоритм? Первый раз такой метод архивации вижу, сильно смахивает на CRC.
    Или это какой-то алгоритм с потерями?
     
  11. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Ето просто пример(сума индексов) Алгоритм которий Я разработал намного сложнее!Но много времени надо,на архивацию.Вопрос в том,чтоби сохранить индекси битов в байте,потом с етого байта,извлечь значение,передать ето значение некоторому алгоритму,которий в свою очередь,должен исходя из значения бити в DWORD.Да-а-а,ну и написал:)Ето сложно но работает!
    __Извините за текст!У меня Японская локализация потому такой БРЕД:)__
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Код (Text):
    1. for (i = 0; i < 16; i++)
    2.   if (w & (1 << i))
    3.     ; // здесь делай что тебе надо, в i - индекс установленного бита.
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    VXCoder
    Хочешь сохранить индексы DWORD в WORD, без погрешностей? Не понимаю как это можно сделать. Если только с ошибками по CRC, как ты уже сам предлагал.
     
  14. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    n0name
    Спасибо за пример!
    Вот только вся суть в том,чтоби потом,когда читаеш байт из input файла,применить к значению етого байта операцию,которая установит нужние нам бити в DWORD,и у нас получется исходний DWORD каторий ми запишем в output файл.Я понимаю Звучит бредово,но очень надо!
    __Извините за текст!У меня Японская локализация потому такой БРЕД:)__
     
  15. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Booster
    Нужно закодировать значение WORD в Байт!Пример с индексами,ето просто пример!Если ми зазработаем какой-то алгоритм каторий будет,кодировать информацию об исходном (WORD) значении в Байт,а потом Декодер читая Байт будет имет информацию(не значение!!!) сможет установить ето значение в WORD
    Example:
    WORD -> Coder -> Byte -> Write to file
    Read From file - byte -> DeCoder -> WORD
    __Извините за текст!У меня Японская локализация потому такой БРЕД:)__
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    VXCoder
    Я реализовывал различные методы архивации без потерь, HAFFMAN, LZW. Но чтобы:
    Это что-то новое. Это или гениально или ...
    Все извесные мне методы кодируют избыточную информацию, но не DWORD в WORD, с возможностью восстановления.
     
  17. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Booster
    Я работаю над проектом,заказчики которого Японци,я пишу кодек,они потбросили идею етого Алгоритма!
    Суть в том,чтоби не сохранять значение WORDa,а сохранять "информацию" об етом значении,потом посли чтения етой "информации" востонавить прежний DWORD!Ету информацию нужно сохранить в Байте,или закодировать DWORD в WORD!
    __Извините за текст!У меня Японская локализация потому такой БРЕД:)__
     
  18. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    VXCoder
    IMHO япошки объелись морепродуктов и перепелинных яиц :).
     
  19. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Booster
    Наверное:))))))))
     
  20. VXCoder

    VXCoder New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2006
    Сообщения:
    41
    Идея Хорошая!