Ir para conteúdo
Fórum Script Brasil
  • 0

BioByte

Pergunta

Boa noite a todos.

Preciso de ajuda para criar um checksum de codificação e decodificação para um vetor de char. O problema em si é o seguinte: O usuário digita as letras no teclado e armazenado em um vetor de char, a partir desse vetor de char é chamada uma função char *codifica(char *) e dentro dela é feito o checksum. O checksum do programa funciona assim: Tomando como exemplo que o usuário digitou 3 letras, cada letra tem 8 bits, na primeira sequencia de bytes o checksum passa um XOR nos sete primeitos bits e no oitavo ele é armazenado então o oitavo bit da sequencia original da primeira letra fica na posição nove e é a partir desse bit que foi deslocado da posição oito para nove que começa a contar uma nova sequência de bits da outra letra fazendo a segunda ter seus dois ultimos bits deslocados e na terceira ter os seus três ultimos bits deslocados. No final da função retorna o vetor codificado então ele entra em outra função char *decodifica(char *) para fazer a sua decodificação e passar o checksum para verificar possíveis erros.

Originalmente o que eu tinha feito era tratar o vetor de char como um int e transformar cada letra em binario e armazenar em um outro vetor e então a função de codificação era chamada para fazer a codificação direto pelos bits. Mas discutindo com os meus colegas de turma um deles me avisou que o professor não aceitará manipular diretamente os bits, eles tem que ficar "mascarados" e fazer todas essas operaçoes de bits nos "bastidores".

Já tenho um certo conhecimento de C e de suas funções como alocação dinâmica de memória,criação de funções, retorno de vetores em funções mas o grande problema meu é exatamente no miolo do programa. Não sei como manipular os bits dentro do char e deslocar os últimos e começar a contar a partir deles para fazer o novo ciclo do XOR sem ser pela manipulação direta dos bits por que não pode. Uso o Visual Studio 2013 e codeblocks.

Agradeço a ajuda desde já.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...