Estou um pouco confuso sobre como normalizar números em C. Sei que se você tiver algo como o ponto flutuante valor binário 1101.101, é normalizado como 1.101101 x 23, movendo o ponto decimal 3 posições para a esquerda. No entanto, não tenho certeza como fazer isso no código. Então, se eu tenho 10010000 exp 0 e eu quero obter 01001000 exp 1, o campo de fração é 001 eo resultado final é 010001. Se eu tiver um número de 8 bits e os 2 bits de liderança são 00, eu quero movê-lo até que eu Encontrar um 1, ou se eu tiver um bit líder de 01 então ele já está normalizado. Similary para um líder 2 bits de 11 eu movê-lo para a esquerda. Então, se o meu número era de 32 bits, 1 para o sinal, 8 para o expoente, 23 para a mantissa, eu faria algo como: E, em seguida, vários mais se declarações para os outros dois números de bit de liderança (00, 10) Claro se minha lógica / código está certo. Como você diz, você precisa extrair o sinal, mantissa e expoente. O diagrama acima, tirado da Wikipedia, mostra como é definido para o formato de ponto flutuante de precisão simples mais comum, IEEE 754. Para extrair cada parte precisamos fazer isso em três etapas detalhadas abaixo. Eu não tenho o código C, mas vou mostrar os passos que você precisa tomar. Depois de extrair as 3 partes, basta colocá-las nas posições de bit mostradas no diagrama acima. 1. Sinal Se seu um número unsigned este é sempre 0. Se seu assinado seu o MSB. 2. Exponente Se o número é assinado e negativo você precisará virar todos os bits e adicionar 1 para transformá-lo positivo. Se não você pode deixá-lo como está. Para extrair o expoente devemos saber onde o ponto binário está destinado a ser. Seja a posição do ponto binário b (no seu exemplo, seu 3). Deixe o primeiro bit do MSB que é 1 be p (No seu exemplo o seu 6). Deixando o expoente ser e. 3. Mantissa Isso será igual aos bits da posição p-1 até o bit 0.
Melhor Forex Trading Robots Comentários Leia nossas opiniões imparcial sobre o mais rentável e confiável Forex Trading Software no mercado Você quer dobrar seu lucro no negócio de negociação forex? Você está encontrando dificuldades para lidar com todas as transações comerciais de forex no dia a dia? Se sim, então você deve ter um software confiável forex trading que pode facilmente gerenciar todas as suas tarefas tediosas, demoradas e repetitivas. Eu sei o quão difícil é para obter o mais rentável programa forex comerciante que se adapte às suas próprias necessidades de investimento. Existem vários fornecedores de software que afirma que seu programa é o melhor do mundo. Mas quando se trata de testes reais, quase todos eles falham miseravelmente. Depois de vários anos de testes e erros, agora sei quais programas realmente funcionam e entregam os resultados finais. Quero que você tire proveito da minha experiência. É por isso que aqui estou dando-lhe minhas idéias em alguns dos mais re
Comments
Post a Comment