Tijdens het lezen van apparaathandleidingen of onze eigen gidsen kunt u enkele voorwaarden tegenkomen waarop u mogelijk niet bekend bent met zoals binair, hexadecimaal, bit, byte, etc.
Dit is een korte gids voor de gebruikte gemeenschappelijke termen, zodat we allemaal praten over dezelfde dingen.
Introductie tot binaire, decimale en hexadecimale nummers
Hoewel dit in het begin verwarrend kan klinken, zijn binair, decimaal en hexadecimaal in wezen verschillende manieren om een nummer te schrijven.
Laten we snel de verschillen tussen hen bekijken.
Decimale
Er is niet veel te zeggen over het decimale systeem dat tegenwoordig het meest voorkomende gebruikte systeem is.
Het wordt een "genoemdBasis 10"Systeem omdat er 10 symbolen zijn die kunnen worden gebruikt: 0 - 9.
Zodra je 9 hebt bereikt je geen symbolen, dus voeg je 1 cijfer aan de linkerkant toe en start opnieuw om 0.
Binair
Een binair getal bestaat alleen uit 0s en 1s. Om die reden heet het een "Basis 2" systeem.
Dit betekent dat een enkel binair cijfer alleen kan worden weergegeven 2 verschillende waarden in plaats van de gebruikelijke 10 cijfers.
De algemene regel voor het tellen met behulp van het binaire systeem is hetzelfde als het decimale systeem: tellen tot net vóór de "basis" en begin opnieuw om 0 uur, maar eerst voegt u 1 toe aan het nummer aan uw linkerhand.
Binair: | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
---|---|---|---|---|---|---|---|---|---|---|---|
Decimale: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Hexadecimaal
Hexadecimaal nummer is vrij interessant, aangezien het een "isBasis 16" systeem.
Ze zien er hetzelfde uit als de decimale getallen tot 9, maar dan zijn er de letters ("A '," B "," C "," D "," E "," F ") in plaats van de decimale nummers 10 tot 15.
Een enkel hexadecimaal cijfer kan 16 verschillende waarden weergeven in plaats van de normale 10 cijfers die we gewend zijn.
Nogmaals zodra we geen symbolen hebben (wanneer we bereiken F) We beginnen met 0 en we voegen 1 toe aan de volgende positie aan de linkerkant.
Hexadecimaal: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EEN | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Decimale: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Zie het in actie
Kies een van de Systems-balg en kijk het tellen:
Conversie tussen systemen
Als je echt in wiskunde bent, kun je jezelf leren Hoe om te zetten nummers tussen verschillende basissystemen.
De eenvoudigste manier is echter om een online te gebruiken Nummeromvormer.
Bits vs bytes
Bits en bytes zijn vaak in de war maar in feite is er een groot verschil tussen hen.
EEN beetje is de kleinste eenheid van informatie die op een computer kan worden opgeslagen of gemanipuleerd. Wanneer weergegeven als een getal, kunnen bits een waarde hebben van "1" (één) of "0" (nul).
Aan de andere kant een byte is veel groter, het bevat acht bits. Wiskundig n opleveren 2 ^ n patronen dus een byte kan een cijfer tussenhouden tussen 0 en 255.
beetje | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
2 ^ 0 | 2 ^ 1 | 2 ^ 2 | 2 ^ 3 | 2 ^ 4 | 2 ^ 5 | 2 ^ 6 | 2 ^ 7 | |
waarde | 0 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
Het is belangrijk om te weten dat bytes worden afgekort met een hoofdstad B, waar als bits een kleine letters bt. Daarom is Mbps megabits per seconde, en Mbps is megabytes per seconde.
Alles samenbinden
Je kunt je afvragen waarom we hebben gesproken over bits, bytes en al die verschillende nummersystemen.
Bij het toevoegen van een apparaatparameter moet je het kiezen Gegevensgrootte. Tussen 1, 2 of 4 bytes en hex of decen zijn er 6 opties om uit te kiezen.
U kunt zich in de verleiding voelen om gewoon de eerste optie te kiezen en ermee verder te gaan, maar een verkeerde gegevensgrootteparameter zal helemaal niet werken en in sommige gevallen kan het apparaat zelf goed werken.
Gegevensgrootte
Het eerste ding om te weten is tenzij anders vermeld, zijn alle parameters 1 byte decimaal.
Er zijn echter enkele apparaten die andere gegevensformaten vereisen. Om die reden is het uiterst belangrijk om de handleiding van uw apparaten voorzichtig te lezen voordat u wijzigingen aanbrengt.
We doen ons best om alle productpagina's bij te houden up-to-date handleidingen.
Op de zeldzame gelegenheid die we een handleiding missen of de gepresenteerde informatie niet duidelijk genoeg is onze suggestie om naar uw apparaat te zoeken Pepper1 Z-Wave-database of de Z-Wave Alliance website.
Negatieve waarden
Het is gezond verstand om een minteken te gebruiken om een negatief integer aan te duiden. Computers kunnen echter alleen informatie in bits opslaan, die als we hebben gezien alleen de waarden nul of één hebben. Daarom zal de opslag van negatieve gehele getallen in een parameter een andere aanpak vereisen.
Zonder in details te gaan, is een manier om negatieve waarden op te slaan om de Twee's complement Verdrag waarbij negatieve waarden worden vertegenwoordigd door de aanvulling van hun eigen waarde. Dit betekent in feite dat getallen die een "1" in de linkerste bit negatief zijn.
Om negatieve waarden in te stellen op een parameter, neemt u de maximale waarde (afhankelijk van de parametergrootte, d.w.z. 1, 2 of 4 bytes) en trek de gewenste waarde af.
Voorbeelden
Alles is gemakkelijker te begrijpen met een voorbeeld, dus laten we eens kijken naar een aantal apparaten die een beetje wiskunde vereisen voordat ze de parameters instellen.
Philio Multisensor Gen5
Een snelle blik op de Philio Multisensor Handleiding en één merkt onmiddellijk de meeste van zijn parameterwaarden, zijn niet de gebruikelijke 1 byte decimaal.
Laten we nemen Parameter 7 als voorbeeld. Opmerking: Voor dit voorbeeld gebruiken we de PST02-1A-parameters.
We moeten binaire sensor Report Command-klasse inschakelen en het apparaat "CLEAR" rapporteren na een bewegingsevenement om zowel beweging als magneetsensoren in de meeste Z-Wave-controllers te krijgen.
Om dit te doen, moeten we inschakelen bit 1 en bit 4 en voeg dat toe aan de reeds ingeschakelde standaard bit 2.
Dit vertaalt zich naar: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22
Zo onze 1 byte decimaal Parameter moet worden ingesteld op 22.
Aeon klem meter
De 4 byte decimaal Parameters die door de Aeon-klemmeter worden gebruikt, kunnen lastig zijn in vergelijking met een 1 byte decimale parameter.
Laten we als voorbeeld zeggen dat we een enkele klemversie van dit apparaat willen configureren. We hebben geleerd hier Dat Parameter 103 moet worden ingesteld op 2304 Maar waarom is dat?
Als we kijken naar de handmatig We kunnen zien in pagina 7 een tabel met alle mogelijke opties voor Waarde 1 tot 4.
Het vertelt ons ook die waarde 1 is MSB (Meest significante bit) en waarde 4 de LSB (Minst significante bit).
Als we dit weten, kunnen we dezelfde logica toepassen die we hebben gebruikt voordat we vanaf het LSB-bit zijn (waarde 4). Dit vertaalt zich naar:
Waarde 1 (MSB) | ||||||||
Beetje | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Waarde | 2147483648 | 1073741824 | 536870912 | 268435456 | 134217728 | 67108864 | 33554432 | 16777216 |
Waarde 2 | ||||||||
Beetje | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Waarde | 8388608 | 4194304 | 2097152 | 1048576 | 524288 | 262144 | 131072 | 65536 |
Waarde 3 | ||||||||
Beetje | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Waarde | 32768 | 16384 | 8192 | 4096 | 2048 | 1024 | 512 | 256 |
Waarde 4 (LSB) | ||||||||
Beetje | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Waarde | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Watt en kWh-rapporten hebben, moeten we inschakelen bit 0 en bit 3 Aan Waarde 3.
Dit geeft ons: 2048 + 256 = 2304
Zo onze 4 byte decimaal Parameter moet worden ingesteld op 2304.
Aeon Sirene Gen5
De 2 byte decimaal Aeon Sirene Gen5 Parameter 37 kan twee bytes of 16 bits opslaan zoals we weten.
Hierdoor kunnen we verschillende geluiden instellen en het volume aanpassen in één enkele parameter.
Kijken naar de handmatig we kunnen zien Waarde 1 hebben 6 mogelijke instellingen terwijl Waarde 2 heb 4. Dit vertaalt zich naar:
Waarde 1 (MSB) | |||||
Geluid 5 | Geluid 4 | Geluid 3 | Geluid 2 | Geluid 1 | |
Beetje | 4 | 3 | 2 | 1 | 0 |
Waarde | 4096 | 2048 | 1024 | 512 | 256 |
Waarde 2 (LSB) | |||||
Volume 3 | Volume 2 | Volume 1 | |||
Beetje | 2 | 1 | 0 | ||
Waarde | 4 | 2 | 1 |
Een andere logica is echter gebruikt door AEON op deze parameter die dingen een beetje moeilijker te begrijpen kan maken. Als we kijken naar de handleiding die we hebben:
- Waarde 1
- 0 - Verander het huidige sirene-geluid niet
- 1 - Sirene Sound 1 is geselecteerd
- 2 - Siren Sound 2 is geselecteerd
- 3 - Sirene Sound 3 is geselecteerd
- 4 - Sirene Sound 4 is geselecteerd
- 5 - Sirene Sound 5 is geselecteerd
- Waarde 2
- 0 - Wijzig het huidige volume niet
- 1 - Stel het volume in op 88 dB
- 2 - Stel het volume in op 100 dB
- 3 - Stel het volume in op 105 dB
Deze zijn de decimale waarden, maar ze zijn toegepast met betrekking tot verspreiding over een waarde van 2 byte.
Omdat de waarden voor geluid en volume worden toegepast als een single 2 byte parameter We moeten de bitpatronen op de juiste manier converteren.
Het is waarschijnlijk gemakkelijker te begrijpen met een voorbeeld:
- Kijk naar Siren Sound 4, Manual zegt dat het is waarde is 4
- Kijk nu naar het bovenstaande 8-bits waardepatroon - welk "bit" zouden we controleren om te geven waarde van 4? Het antwoord is bit 2
- En welke waarde is bit 2 In de 2e byte van een 2 byte-waarde? Antwoord is 1024
Als dit gecompliceerd klinkt, kan het :-)
Laten we een tweede voorbeeld bekijken:
- Kijk naar Sirene Sound 3 met waarde 3
- Welke "bit" zouden we controleren om te geven waarde van 3? We zouden moeten inschakelen bit 0 en 1 (1 + 2)
- Wat is de som van bit 0 en 1-waarde op een standaard 8-bitwaardepatroon? Antwoord is 768 (512 + 256)
Opmerking: Voor een volledige lijst van de decimale waarden die moeten worden gebruikt met de Aeon Sirene, kijk dan eens naar gids Parameter 31-36 Hiermee kan een gebruiker sequenties van twee of drie gebaren maken om het aantal mogelijke acties uit te breiden. Dit zijn 2 byte decimaal Parameters waar elk gebaar 4 bits duurt. Elk gebaar kan als volgt worden geïdentificeerd:
Fibaro veeg
Waarde | 4 bits | Gebaar |
0 | 0000 | leeg |
1 | 0001 | ^ |
2 | 0010 | v |
3 | 0011 | < |
4 | 0100 | > |
Het sequentiebitpatroon kan worden vertaald als:
Waarde 1 (MSB) - Gereserveerd | ||||
Beetje | 3 | 2 | 1 | 0 |
Waarde | 32768 | 16384 | 8192 | 4096 |
Waarde 2 - Eerste gebaar | ||||
Beetje | 3 | 2 | 1 | 0 |
Waarde | 2048 | 1024 | 512 | 256 |
Waarde 3 - Tweede gebaar | ||||
Beetje | 3 | 2 | 1 | 0 |
Waarde | 128 | 64 | 32 | 16 |
Waarde 4 (LSB) - Derde gebaar | ||||
Beetje | 3 | 2 | 1 | 0 |
Waarde | 8 | 4 | 2 | 1 |
Om een te maken ^ (omhoog)> (rechts) <(links) reeks:
- Waarde 1 is gereserveerd, zodat de waarde is 0
- Waarde 2 is "up", dus we zouden in bit 0 (0001) = 256
- Waarde 3 is "rechts", dus we zouden het inschakelen bit 2 (0100) = 64
- Waarde 4 is "links", dus we zouden in bit 0 en 1 (0011) = 2 + 1
Als we alle waarden optellen die we krijgen 323.
Fibaro bewegingssensor gen5
De 2 byte decimaal Fibaro bewegingssensor gen5 Parameter 66 Kan twee bytes of 16 bits opslaan die ons in staat stellen een temperatuurverschuiving van -100 tot 100 ºC in te stellen in stappen van 0,1ºC.
Om een temperatuurverschuiving van -2.0 ºC in te stellen, zou u de gewenste absolute waarde (20) aftrekken op de maximale waarde die de parameter kan duren (2 ^ 16).
Dit vertaalt (2 ^ 16) - 20 = 65516.
Dus onze 2 byte decimale parameter moet worden ingesteld op 65516.
Gerelateerde informatie
auteursrechten Vesternet 2017
Bijgewerkt: 07/11/2017