Como multiplicar 2 assinado números de ponto fixo?

O

omara007

Guest
Hi guys

Eu tenho dois vetores de 16-bit bit ..cada um representa um número binário assinado_O formato de cada vetor é o seguinte:

XXXX.XXXXXXXXXXXX

Quando o (ponto) representa o ponto de binário que separa a parte inteira da parte fração.

A ordem de bit mais significativo é (15), enquanto a ordem Bit menos significativo é (0).

Como o vetor é assinado, bits (12, 13, 14) representam o valor inteiro, enquanto pouco (15) é o bit de sinal.Os números são representados em complemento para 2 de formato.

Agora, eu quero multiplicar estes 2 vetores.Eu sei que o resultado será colocado em um vetor de 32-bit.No entanto, onde será a posição do ponto binário?..Por favor note que este é um processo de multiplicação assinado.

 
A parte de fração é 12 12 = 24 bits de comprimento.Não importa tanto que assinou ou não.

 
Sim, assim que você tem a queda de 12 bits fracionária e saturação de usar a lógica para a parte inteira.

 
FVM escreveu:

Sim, assim que você tem a queda de 12 bits fracionária e saturação de usar a lógica para a parte inteira.
 
Você foi dito na planície Inglês: o tamanho da fração do produto será de 24 bits.Isso é (4,12) x (4,12) = (8,24).

 
is self-explanatory, I think.

Drop (ou corte) 12 bits fracionário
é auto-explicativo, eu acho.Se você tem dúvidas sobre a necessidade lógica de saturação, você pode querer
para brincar com exemplos numéricos e considerar, como você pretende lidar com um estouro numérico.

 
GeorgeM escreveu:

Você foi dito na planície Inglês: o tamanho da fração do produto será de 24 bits.
Isso é (4,12) x (4,12) = (8,24).
 

Welcome to EDABoard.com

Sponsor

Back
Top