Diskuze: 8-bit + 8-bit + 8-bit => 24-bit a 24-bit => 8-bit + 8-bit + 8-bit
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 8 zpráv z 8.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Dělá se to pomocí shiftovacíh operároru a ORu.
Příklad (dosaď si tam své názvy)
Dim b1 = 64 ' 0100 0000
Dim b2 = 15 ' 0000 1111
Dim b3 = 234 ' 1110 1010
Dim num = (b1 << 16) Or (b2 << 8) Or (b3)
Debugger.Break()
Funguje to tak, že se hodnoty bitově posunou o 8násobky a pak se operátoem OR proloží
tzn. b1 se posová o 16, takže
z
|||| ||||
0000 0000 0000 0000 0000 0000 0100 0000
se stane
|||| ||||
0000 0000 0100 0000 0000 0000 0000 0000
b2 se posová o 8, takže
z
|||| ||||
0000 0000 0000 0000 0000 0000 0000 1111
se stane
|||| ||||
0000 0000 0000 0000 0000 1111 0000 0000
a b3 se ponechává
|||| ||||
0000 0000 0000 0000 0000 0000 1110 1010
No pak se to "spojí" pomocí operátoru OR.
|||| ||||
0000 0000 0100 0000 0000 0000 0000 0000
OR
|||| ||||
0000 0000 0000 0000 0000 1111 0000 0000
OR
|||| ||||
0000 0000 0000 0000 0000 0000 1110 1010
se rovná
0000 0000 0100 0000 0000 1111 1110 1010
tedy 4198378.
Správně bys ještě měl uvést že datový typ je místo Integer (Int32) UInt32, protože se jedná o neznaménkové číslo. Tím že nenastavuješ nejvyšší byte ti to však bude fungovat i se znaménkovým.
Dobrý den Pánové.
Děkuji moc za vaše rady.
Zapoměl jsem však napsat, že jde o "Visual Basic 6.0".
Asi není možné vložit soubor ZIP.rar což mi komplikuje podat jednoduchou
otázku.
Alespoň tedy přidávám obrázek a upravený kód.
Po stisknutí tlačítka "Command1" jsou spojeny tři 8-bitové hodnoty na jednu 24-bitovou hodnotu:
Private Sub Command1_Click()
Dim bit_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bit_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bit_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bit_24_01 As Integer ' definition - joining three 8-bit numbers
bit_08_01 = Text1.Text ' first 8 bits from TextBox1
bit_16_09 = Text2.Text ' second 8 bits from TextBox2
bit_24_17 = Text3.Text ' third 8 bits from TextBox3
' bit_24_01 = (bit_24_17 \ 16) Or (bit_16_09 \ 8) Or (bit_08_01)
Text4.Text = bit_24_01 ' joining three 8-bit numbers to TextBox4
End Sub
Po stisknutí tlačítka "Command2" je rozdělena jedna 24-bitová hodnota na tři 8-bitové hodnoty:
Private Sub Command2_Click()
Dim bix_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bix_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bix_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bix_24_01 As Long ' definition - joining three 8-bit numbers
bix_24_01 = Text4.Text ' joined three 8-bit numbers to TextBox4
' bix_08_01 = bix_24_01 (7-0)
' bix_16_09 = bix_24_01 (15-8)
' bix_24_17 = bix_24_01 (23-16)
Text5.Text = bix_08_01 ' first 8 bits to TextBox5
Text6.Text = bix_16_09 ' second 8 bits to TextBox6
Text7.Text = bix_24_17 ' third 8 bits to TextBox7
End Sub
Private Sub Command1_Click()
Dim bit_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bit_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bit_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bit_24_01 As Integer ' definition - joining three 8-bit numbers
bit_08_01 = Text1.Text ' first 8 bits from TextBox1
bit_16_09 = Text2.Text ' second 8 bits from TextBox2
bit_24_17 = Text3.Text ' third 8 bits from TextBox3
bit_24_01 = bit_24_17 * 65536 + bit_16_09 * 256 + bit_08_01
Text4.Text = bit_24_01 ' joining three 8-bit numbers to TextBox4
End Sub
Private Sub Command2_Click()
Dim bix_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bix_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bix_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bix_24_01 As Integer ' definition - joining three 8-bit numbers
bix_24_01 = Text4.Text ' joined three 8-bit numbers to TextBox4
bix_24_17 = bix_24_01 \ 65536
bix_24_01 = bix_24_01 Mod 65536
bix_16_09 = bix_24_01 \ 256
bix_24_01 = bix_24_01 Mod 256
bix_08_01 = bix_24_01
Text5.Text = bix_08_01 ' first 8 bits to TextBox5
Text6.Text = bix_16_09 ' second 8 bits to TextBox6
Text7.Text = bix_24_17 ' third 8 bits to TextBox7
End Sub
Pane "plelovsky" - moc Vám děkuji. Problém je vyřešen.
Z důvodu přetečení jsem Integer nahradil Long a definoval jsem čísla
"číslo" na CLng(číslo):
Po stisknutí tlačítka "Command1" jsou spojeny tři 8-bitové hodnoty na jednu 24-bitovou hodnotu:
Private Sub Command1_Click()
Dim bit_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bit_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bit_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bit_24_01 As Long ' definition - joining three 8-bit numbers
bit_08_01 = Text1.Text ' first 8 bits from TextBox1
bit_16_09 = Text2.Text ' second 8 bits from TextBox2
bit_24_17 = Text3.Text ' third 8 bits from TextBox3
bit_24_01 = bit_24_17 * CLng(65536) + bit_16_09 * CLng(256) + bit_08_01
Text4.Text = bit_24_01 ' joining three 8-bit numbers to TextBox4
End Sub
Po stisknutí tlačítka "Command2" je rozdělena jedna 24-bitová hodnota na tři 8-bitové hodnoty:
Private Sub Command2_Click()
Dim bix_08_01 As Byte ' definition - first 8 bits (7-0)
Dim bix_16_09 As Byte ' definition - second 8 bits (15-8)
Dim bix_24_17 As Byte ' definition - third 8 bits (23-16)
Dim bix_24_01 As Long ' definition - joining three 8-bit numbers
bix_24_01 = Text4.Text ' joined three 8-bit numbers to TextBox4
bix_24_17 = bix_24_01 \ CLng(65536)
bix_24_01 = bix_24_01 Mod CLng(65536)
bix_16_09 = bix_24_01 \ CLng(256)
bix_24_01 = bix_24_01 Mod CLng(256)
bix_08_01 = bix_24_01
Text5.Text = bix_08_01 ' first 8 bits to TextBox5
Text6.Text = bix_16_09 ' second 8 bits to TextBox6
Text7.Text = bix_24_17 ' third 8 bits to TextBox7
End Sub
Pravda, ve VB 6 odpovídá datový typ Integer typu Short (Int16) v .NET, takže je potřeba použít Long, což odpovídá typu Integer (Int32) v .NET.
Zobrazeno 8 zpráv z 8.