Como conseguir a mudança de bits por portas lógicas

S

s0g0

Guest
por exemplo, eu tenho um número binário 11001001 -> Agora, eu quero que ele seja dividido por 16, então eu tenho que transferi-lo para a direita (LSB) por 4 bits (2 ^ 4 = 16) -> assim que eu chegar 00001100, mas como posso alcançá-lo no hardware através de portas lógicas?
Última edição por s0g0 em 20 Jun 2008 9:56, editado 1 vez no total

 
.

Você não precisa de portas lógicas, basta ligar os bits deslocados.is different for a number representation of unsigned or signed.

A atribuição de bits para os bits deslocados em
alta é diferente para um número de representação assinado ou assinado_Ou '0 'ou replicar o MSB.

 
Oi,
Do que você realmente deseja apenas ter um resultado duro com fios que sempre divide um byte de entrada, 16, que é o FVM lhe deu, ou você quer fazer manipulação mathmatical reais no hardware?Se por exemplo você quiser alternar entre o número ou o número dividido por 16, você teria que usar um circuito multiplexador que selecionou os 4 bits superiores do seu número e trocou-los para os bits quatro menores e definir os quatro bits superiores foram a zeros .

Eu não estou completamente certo de que você realmente quer fazer?Por favor nos dê mais detalhes.

Bob

 
Muito obrigado por FVM e DrBob13, eu preciso dividir meu sinal binário de 16, assim posso saber mais detalhes do funcionamento do FVM?Como replicar o MSB e que a fiação exatamente se parece com a "mudança de"?Estou muito novo para o projeto elec.

 
/ / unsigned
o [7] = 0; o [6] = 0; o [5] = 0; o [4] = 0; o [3] = i [7], o [2] = i [6] O; [ 1] = i [5], o [0] = i [4];

/ / signed
o [7] = i [7], o [6] = i [7], o [5] = i [7], o [4] = i [7], o [3] = i [7]; o [2] = i [6], o [1] = i [5], o [0] = i [4];

 
Obrigado pela sua grande ajuda, FVM.
Agora eu sou capaz de mudar os bits agora.Aqui eu quero fazer algumas perguntas a respeito algoritmo de ponto flutuante para números binários.Espero que possam me guiar novamente por sua aprendizagem profunda.
Atualmente, estou trabalhando em um projeto de circuito de previsão para o ADC.Alguns dos algoritmos binários estão envolvidos.
Considere o seguinte exemplo.Take A negativa: A = 1100 1010.Agora, a dividir por 16 nós direito de mudar de novo (mas também temos de replicar o bit de sinal na esquerda como você disse).Então agora A/16 = 1111 1100.Assim base na minha concepção, a operação seguinte é subtrair: AA/16 = 1100 1010-1111 1100.Agora, se você observar antes de estarmos jogando os 4 bits menos significativos, que é o arredondamento do resultado da divisão de número inteiro mais próximo.Se você não quer isso, então você pode considerar 4 bits associados a 2 ^ (-1), 2 ^ (-2), 2 ^ (-3) e 2 ^ (-4) bem, e precisamos de 12 -- subtração bit.Nos exemplos dados acima, você vai fazer o seguinte:
Exemplo 1: 0110 1101,0000-0000 0110 .1101
Exemplo 2: 1100 1010,0000-1111 1100 .1010

Obrigado por você paciência para ler minha descrição crap longo prazo, como implementar de ponto flutuante, na prática, de hardware?Eu tenho realmente nenhuma idéia de como lidar com os pontos decimais número binário

 

Welcome to EDABoard.com

Sponsor

Back
Top