Bitove operace – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bitove operace – Visual Basic – Fórum – Programujte.comBitove operace – Visual Basic – Fórum – Programujte.com

 

Vlákno bylo úspěšně vloženo.
Pokud sám přijdeš na řešení, nezapomeň ho sem přidat!
Keny0
Návštěvník
25. 8. 2013   #1
-
0
-

Ahoj, mám jednoduchý dotaz.

Proč se používá např. ve funkci MakeLong (HiWord, LoWord)  toto:

LoWord & 0xffff

popřípadě co by se stalo, kdyby tam ten bitový součin nebyl.

Nahlásit jako SPAM
IP: 88.100.129.–
KIIV
~ Moderátor
+43
God of flame
25. 8. 2013   #2
-
0
-

by tam pak mohlo zustat mnohem vetsi cislo nez je  0xffff  (tomuhle se rika maskovani) - jde o to, ze vsechny bity, ktery jsou v masce 0, prepisou nulou vsechny bity na stejnych pozicich tez na 0

tj. 0xACEFABCD & 0xFFFF = 0xABCD

Nahlásit jako SPAM
IP: 213.220.241.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Keny0
Návštěvník
26. 8. 2013   #3
-
0
-

#2 KIIV
Takže se to používá když není jistota, že má proměnná jen ten počet bytů co má mít?

Zpět k té funkci MakeLong, pokud zadam typ parametrů na Integer, což jsou 2 byty, je stále možné, aby tam byla větší hodnota (a tedy je nutné použít masku)? ...a jestli jo, tak proč tam může být?

Nahlásit jako SPAM
IP: 88.100.129.–
KIIV
~ Moderátor
+43
God of flame
26. 8. 2013   #4
-
0
-

ona muze byt jistota ze to ma mnohem vetsi pocet bitu nez chces... napriklad chces z 32bitovy promenny vytahnout 4bajty kazdy zvlast... tam se masky hodi (obzvlaste pokud to pak das zase do 32bitovy promenny)

kazdopadne hodi se to kdyz ta velikost neni zarucena.. treba v C/C++ jsou zaruceny jen minimalni velikosti ale pak uz zalezi na operacnim systemu, procesoru a kompilatoru ...  int muze pak byt 16,32 nebo dokonce 64bitu (ale to treba gcc normalne nema na 64b procesorech)

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Keny0
Návštěvník
15. 10. 2013   #5
-
0
-

Je mozne nejlepe pres nejakou winapi funkci porovnavat bloky pameti?

A jde bloky scitat? Respektive pouzivaji se vypocty na binarni urovni? Nasel jsem jen logicke operace.

Nahlásit jako SPAM
IP: 217.115.245.–
KIIV
~ Moderátor
+43
God of flame
15. 10. 2013   #6
-
0
-

#5 Keny
tak na porovnani kusu pameti je i memcmp ... pokud potrebujes winapi tak si projdi winapi funkce..

a neni zase takovej problem to proste projit cyklem a udelat s tim co chces

EDIT: ikdyz ty budes asi hledat neco vic VBckovskyho ...

Nahlásit jako SPAM
IP: 213.220.241.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Keny0
Návštěvník
26. 10. 2013   #7
-
0
-

Diky, asi jsem hledal na spatnem miste nasel jsem jen kopirovani respektive presouvani, winapi je presne to co potrebuju.

Ono to ani neni k VB, potrebuju to v Autohotkey (coz je spis C), nema to datove typy, vse bere jako retezce a tak je asi lepsi pouzivat rovnou tu pamet.

Nahlásit jako SPAM
IP: 88.100.129.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý