• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Liczby zmiennoprzecinkowe

Konkurs Mistrz Programowania
0 głosów
247 wizyt
pytanie zadane 13 stycznia 2016 w C i C++ przez Inferius Początkujący (440 p.)
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdlib>
#include <cmath>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{   int cecha;
	int dziesietna = 0;
    int licznik = 0;
    string binarna;
    cout << "Podaj liczbe binarna 9 bitow bit znaku i cecha i mantysa " ;
    cin >> binarna;
	
    if(binarna[0]='1')
	{cout<<'-';
	}
	else
	{cout<<"";
	}
    int dlugosc = binarna.length();
    for(int i = dlugosc-1; i >=1; i--) {
        dziesietna += (binarna[i]-48) * pow(2,licznik);
        licznik++;
	}
    cecha=dziesietna-127;
	cout<<cecha;
system("pause");
return 0;
}
#include <iostream>
#include <math.h>
using namespace std;
const int iloscBitow=32;
int main (){
int bin[32];
int dec=0;
cin>>bin[32];
string dlugosc;
int pot=1;
int z=bin[0];
if (bin[0]==1)
{
	cout<<"Znak liczby jest ujemny i wynosi "<<z<<endl;
}
else
{
	cout<<"Znak liczby jest dodatni i wynosi "<<z<<endl;
}
do {
	dec+=bin[dlugosc]*pot;
	pot*=2;
	dlugosc--;
} while (dlugosc>0);
int c=dec-127;
return 0;
}
int potega=1;
for ( i=9; i>0 ; i--)
	dziesietna-=potega*(int)t[i]
    pot*=2;
	}

 

2 odpowiedzi

0 głosów
odpowiedź 13 stycznia 2016 przez Inferius Początkujący (440 p.)
Che napisać program przeliczający liczbe bnarna na zmiennoprzecinkowa 32 bity bit znaku cecha i mantysa : ) Pierwszy program robi to dobrze znaczy narazie oblicza tylko biz znaku i ceche : ) no ale ja właśnie potrzebuje to samo tylko żeby potęgowanie odbywało się na pętli for : ) coś w stylu tego 3 fragmentu : ) I bardzo bym prosił o pomoc w przerobieniu jakoś tego i wytłumaczeniu oczywiście bo mi ciągle jakieś błedy pokazuje : ) i chyba najlepiej by było jeśli program byłby zrobiony na tablicach a nie łańcuchach : )
0 głosów
odpowiedź 13 stycznia 2016 przez Mateusz Tocha Bywalec (2,560 p.)
Jeżeli znasz angielski to polecam bardzo bibliotekę iqmath z Texas Instrument, nie mówię żeby może jej używać ale jest to dobre źródło informacji.

http://www.ti.com/lit/sw/sprc990/sprc990.pdf

ogólnie tą bibliotekę stosuję się w mikroprocesorach o stałej notacji przecinkowej , muszę przyznać że daje rade bo pozwala to na sterowanie napędy elektryczne PMSM, indukcyjne itp oparte o sterowanie wectorowe, w których standardem jest wykorzystanie transformacji układów współrzędnych (Clarka, Parka) . Algorytmy te muszą być na tyle szybkie żeby "zmieściły" się w przerwaniu powiedzmy 100ms (dla częstotliwości modulacji 10kHz) ale i również 50ms(dla 20kHz), w procesorze z taktowaniem zegara 80-150Mhz. Mogę ją z czystym sumieniem polecić.

 

Pozdrawiam
komentarz 13 stycznia 2016 przez Mateusz Tocha Bywalec (2,560 p.)
chciałem jeszcze dodać że w bibliotece wykorzystywana jest notacja iq

https://en.wikipedia.org/wiki/Q_(number_format)

Podobne pytania

0 głosów
1 odpowiedź 467 wizyt
pytanie zadane 28 maja 2022 w Mikrokontrolery przez martys95 Nowicjusz (120 p.)
+1 głos
0 odpowiedzi 863 wizyt
pytanie zadane 29 września 2021 w Egzaminy zawodowe przez Szyszka Gaduła (3,510 p.)
0 głosów
0 odpowiedzi 851 wizyt

93,653 zapytań

142,574 odpowiedzi

323,089 komentarzy

63,169 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...