När du läser igenom enhetsmanualer eller våra egna guider kan du stöta på termer som du kanske inte är bekant med, till exempel binär, hexadecimal, bit, byte etc.
Detta är en snabbguide till vanliga termer som används så att vi alla pratar om samma saker.
Introduktion till binära, decimala och hexadecimala tal
Även om detta kan låta förvirrande till en början, är binärt, decimalt och hexadecimalt i huvudsak bara olika sätt att skriva ner ett tal.
Låt oss ta en snabb titt på skillnaderna mellan dem.
Decimal
Det finns inte mycket att säga om decimalsystemet med tanke på att det är det vanligaste systemet nuförtiden.
Det kallas en "Bas 10”-systemet eftersom det finns 10 symboler som kan användas: 0–9.
När du når 9 får du slut på symboler, så du lägger till 1 siffra till vänster och börjar om på 0.
Binär
Ett binärt tal består endast av 0s och 1s. Av den anledningen kallas det en “Bas 2”-systemet.
Det betyder att en enda binär siffra bara kan visas 2 andra värden istället för de vanliga 10 siffrorna.
Den allmänna regeln för att räkna med det binära systemet är densamma som med decimalsystemet: räkna upp till strax före "basen", börja sedan på 0 igen, men först adderar du 1 till talet till vänster.
| Binär: | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Decimal: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Hexadecimal
Hexadecimala tal är ganska intressanta med tanke på att det är ett "Bas 16”-systemet.
De ser likadana ut som decimaltalen upp till 9, men sedan finns det bokstäverna ("A", "B", "C", "D", "E", "F") istället för decimaltalen 10 till 15.
En enda hexadecimal siffra kan visa 16 olika värden istället för de vanliga 10 siffrorna vi är vana vid.
Återigen när vi får slut på symboler (när vi når F) vi börjar om på 0 och lägger till 1 till nästa position till vänster.
| Hexadecimal: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | En | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Decimal: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Se det i aktion
Välj ett av systemen nedan och se hur det räknas:
Konvertering mellan system
Om du verkligen är intresserad av matte kan du lära dig själv hur man konverterar tal mellan olika bassystem.
Det enklaste sättet är dock att använda en online-tjänst Nummerkonverterare.
Bitar vs. byte
Bitar och byte förväxlas ofta, men det är faktiskt en stor skillnad mellan dem.
En bit är den minsta informationsenheten som kan lagras eller manipuleras på en dator. När bitar representeras som ett tal kan de ha värdet antingen "1" (en) eller "0" (noll).
Å andra sidan en byte är mycket större, den innehåller åtta bitarMatematiskt n bitar avkastning 2 ^ n mönster så en byte kan innehålla ett tal mellan 0 och 255.
| bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 2 ^ 0 | 2 ^ 1 | 2 ^ 2 | 2 ^ 3 | 2 ^ 4 | 2 ^ 5 | 2 ^ 6 | 2 ^ 7 | |
| värde | 0 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
Det är viktigt att veta att byte förkortas med stort B, medan bitar förkortas med litet b.Därför är Mbps megabit per sekund och MBps megabyte per sekund.
Att knyta ihop allt
Du kanske undrar varför vi har pratat om bitar, byte och alla de olika talsystemen.
När du lägger till en enhetsparameter måste du välja dess DatastorlekMellan 1, 2 eller 4 byte och Hex eller Dec finns det 6 alternativ att välja mellan.
Du kanske känner dig frestad att bara välja det första alternativet och gå vidare med det, men en felaktig datastorleksparameter fungerar inte alls och i vissa fall kan det förhindra att själva enheten fungerar korrekt.
Datastorlek
Det första du bör veta är att om inget annat anges är alla parametrar 1 byte decimal.
Det finns dock vissa enheter som kräver andra datastorlekar. Av den anledningen är det oerhört viktigt att noggrant läsa enhetens manual innan du gör några ändringar.
Vi gör vårt bästa för att hålla alla produktsidor med uppdaterade manualer.
I de sällsynta fall då vi saknar en manual eller informationen som presenteras där inte är tillräckligt tydlig föreslår vi att du söker efter din enhet på peppar1
Negativa värden
Det är sunt förnuft att använda ett minustecken för att beteckna ett negativt heltal. Datorer kan dock bara lagra information i bitar, vilka som vi har sett bara kan ha värdena noll eller ett. Därför kräver lagring av negativa heltal i en parameter en annan metod.
Utan att gå in på detaljer är ett sätt att lagra negativa värden att använda Tvåkomplement konvention där negativa värden representeras av tvåans komplement till deras eget värde. Detta betyder i princip att tal som har en "1" i den vänstra biten är negativa.
För att ställa in negativa värden på en parameter tar du det maximala värdet (beroende på parameterstorleken, i.e. 1, 2 eller 4 byte) och subtrahera önskat värde.
Exempel
Allt är lättare att förstå med ett exempel, så låt oss titta på några vardagliga enheter som kräver lite matematik innan vi ställer in parametrarna.
Philio Multisensor GEN5
En snabb titt på
Låt oss ta Parameter 7 som ett exempel. NoteraI det här exemplet använder vi PST02-1A-parametrarna.
Vi behöver aktivera kommandoklassen Binary Sensor Report och göra enhetsrapporten "klar" efter en rörelsehändelse för att få både rörelse- och magnetsensorer att fungera i de flesta fall.
För att göra detta behöver vi aktivera bit 1 och bit 4 och lägg till det till det som redan är aktiverat som standard bit 2.
Detta översätts till: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22
Så vår 1 byte decimal Parametern ska ställas in på 22.
Aeon-strömtång
De 4 byte decimal Parametrar som används av Aeon-strömtången kan vara knepiga jämfört med en decimalparameter på 1 byte.
Som ett exempel, låt oss säga att vi vill konfigurera en version med en enda klämma av den här enheten. Vi har lärt oss här att Parameter 103 bör vara inställd på 2304 men varför det?
Om vi tittar på manuell Vi kan se på sidan 7 en tabell som visar alla möjliga alternativ för Värde 1 till 4.
Det säger oss också att Värde 1 är MSB (Mest signifikanta bit) och värde 4 LSB (Minsta signifikanta bit).
Med detta i åtanke kan vi tillämpa samma logik som vi använde innan vi började med LSB-biten (värde 4).Detta översätts till:
| Värde 1 (MSB) | |||||
| Ljud 5 | Ljud 4 | Ljud 3 | Ljud 2 | Ljud 1 | |
| Bit | 4 | 3 | 2 | 1 | 0 |
| Värde | 4096 | 2048 | 1024 | 512 | 256 |
| Värde 2 (LSB) | |||||
| Volym 3 | Volym 2 | Volym 1 | |||
| Bit | 2 | 1 | 0 | ||
| Värde | 4 | 2 | 1 | ||
Aeon har dock använt en annan logik för denna parameter, vilket kan göra det lite svårare att förstå. Om vi tittar på manualen har vi:
- Värde 1
- 0 - ändra inte det aktuella sirenljudet
- 1 - Sirenljud 1 är valt
- 2 - Sirenljud 2 är valt
- 3 - Sirenljud 3 är valt
- 4 - Sirenljud 4 är valt
- 5 - Sirenljud 5 är valt
- Värde 2
- 0 - ändra inte den aktuella volymen
- 1 - ställ in volymen på 88 dB
- 2 - ställ in volymen på 100 dB
- 3 - ställ in volymen på 105 dB
Dessa är decimalvärdena men de ärtillämpad med avseende på att vara spridda över ett 2 byte-värde.
Eftersom värdena för ljud och volym tillämpas som enen enda 2-byte parameter Vi måste konvertera bitmönstren på lämpligt sätt.
Det är nog lättare att förstå med ett exempel:
- Titta på sirenljud 4, manualen säger att det är värdet är 4
- Titta nu på ovanstående 8-bitars värdemönster - vilken "bit" skulle vi kontrollera för att ge värde av 4 Svaret är bit 2
- Och vilket värde är bit 2 i den andra byten av ett 2-bytevärde? Svaret är 1024
Om det låter komplicerat så kan det vara det :-)
Låt oss ta en titt på ett andra exempel:
- Titta på sirenljud 3 med värde 3
- Vilken "bit" skulle vi kontrollera för att ge värde av 3 Vi skulle behöva aktivera bit 0 och 1 (1 + 2)
- Vad är summan av bit 0 och 1-värdet i ett standard 8-bitars värdemönster? Svaret är 768 (512 + 256)
Notera För en fullständig lista över decimalvärden som ska användas med Aeon Siren, ta en titt på detta. guide Parameter 31-36 låter en användare skapa sekvenser av två eller tre gester för att utöka antalet möjliga åtgärder. Dessa är 2 byte decimal Parametrar där varje gest tar 4 bitar. Varje gest kan identifieras enligt följande:
| Värde | 4 bitar | Gest |
| 0 | 0000 | tömma |
| 1 | 0001 | ^ |
| 2 | 0010 | v |
| 3 | 0011 | & lt; |
| 4 | 0100 | > |
Sekvensbitmönstret kan översättas som:
| Värde 1 (MSB) - reserverad | ||||
| Bit | 3 | 2 & | 1 | 0 |
| Värde | 32768 | 16384 | 8192 | 4096 |
| Värde 2 - första gesten | ||||
| Bit | 3 | 2 | 1 | 0 |
| Värde | 2048 | 1024 | 512 | 256 |
| Värde 3 - andra gesten | ||||
| Bit | 3 | 2 | 1 | 0 |
| Värde | 128 | 64 | 32 | 16 |
| Värde 4 (LSB) - tredje gesten | ||||
| Bit | 3 | 2 | 1 | 0 |
| Värde | 8 | 4 | 2 | 1 |
Att skapa en ^ (upp)& gt; (höger)& lt; (vänster) sekvens:
- Värde 1 är reserverat så dess värde är 0
- Värde 2 är "upp" så vi skulle aktivera bit 0 (0001) = 256
- Värde 3 är "rätt" så vi skulle aktivera bit 2 (0100) = 64
- Värde 4 är "vänster" så vi skulle aktivera bit 0 och 1 (0011) = 2 + 1
Om vi adderar alla värden får vi 323.
Fibaro Rörelsesensor GEN5
De 2 byte decimal
För att ställa in en temperaturförskjutning på -2,0 ºC subtraherar du det önskade absoluta värdet (20) från det maximala värde som parametern kan anta (2^16).
Detta översätts till (2^16) – 20 = 65516.
Så vår 2-byte decimalparameter bör sättas till 65516.
Relaterad information
Upphovsrätt Vesternet 2017
Uppdaterad: 2017-07-11