» »

Pretvorba tipa double v vektor tipa byte

Pretvorba tipa double v vektor tipa byte

bor_forum ::

Mi lahko prosim pomagate pri pretvorbi vrednosti tipa double v vektor tipa byte v programskem jeziku C++ ali v VB?

Prosim za pomoč!:)

user4683 ::

ah, kurac, sem napisal dolg post, pa so mi jo winsi zagodli ;((

poglej tukajle, mogoce si bos kaj lazje predstavljal stevila s plavajoco vejico...
vse kar je treba vedet, je, da je dolg 8 bajtov. torej moras (z bit-shift) spravit vsak bajt posebej v vektor in to je to.

Si pa s tem prav nic ne mores pomagat :) Ali pac... sam ne vidim uporabnosti. ;)

LP, snake

Zgodovina sprememb…

  • spremenil: user4683 ()

bor_forum ::

Hvala za namig!

Obstaja kaka funkcija, ki zna pogledat bite v memoriji?

Vesoljc ::

za to se uporabljajo bitwise operatorji...
go google
Abnormal behavior of abnormal brain makes me normal...

bor_forum ::

:) Lepo pozdravljeni!
Pretvorobo rabim za pošiljanje podatkov preko UDP-ja v matlabov UDP blok, ki zna delat z vektorji.
Še o shift-u:
Ukaz Bit-shift mi javi napako ko hočem siftat vrednost tipa double? Zgleda, da zna shiftat samo tip integer.:)

Vesoljc ::

jah, nisi reku, da rabiš (?) shift...
itaq da "ne morš" shiftat doublov, njihova zgradba je drugačna (predznak, mantisa, exponenet...)

ni mi čist jasen, kwa bi ti sploh rad...

vector ala

struct vector
{
byte x,y,z;
};


ali vector ala

std::vector[byte] // syntax error

???
Abnormal behavior of abnormal brain makes me normal...

user4683 ::

Khm... ja, se opravičujem... double ne moreš shiftat :)

Vesoljc: zakaj mu dajes odgovor z syntax errorjem? :)

Vesoljc ::

vpraši avtorje tega foruma...
tag "pre" noče delat...
Abnormal behavior of abnormal brain makes me normal...

bor_forum ::

Problem, ki resujem je pretvoriti double v vektor 8 bytov.
Torej vektor tipa:
__int8 vektor(7)

Predznak, matisa in exponent so v tem primeru (predstavljeni v 64 bitih) razbitih po 8 v posamezen byte.

Postopek bi moral delat v obe smeri torej iz doubla v vektor in obratno.

Vesoljc ::

se pravi vektor je array 7 (?) bytov?
__int8 vektor[7];
se pravi, da ima vektor 7 komponent??? (x,y,z,w,r,g,b)

še vedno pa nisi povedu, kaj je v double zapisano... samo ena komponenta?

nič jasno :\
Abnormal behavior of abnormal brain makes me normal...

rasta ::

Poskusi z:
char *p = reinterpret_cast<char*>(&stev);

Potem pa dostopaš do posameznih bitov z p[i].

Ali pa s kakšno unijo tipa:
union dubl2str {
  double dbl;
  char str[8];
};


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

vector::iterator problemi, brisanje podatkov iz vektorja

Oddelek: Programiranje
81121 (972) mn
»

[C++] Zapis vector<BOOL> v binarno datoteko

Oddelek: Programiranje
131059 (863) mn
»

Pomoc pri nalogi

Oddelek: Programiranje
152010 (1816) FuI2cY
»

C# in slika iz kamere

Oddelek: Programiranje
61352 (1236) ql000
»

[c++] Pomoč pri izdelavi std::vector "wrapperja"

Oddelek: Programiranje
81580 (1481) zhigatsey

Več podobnih tem