"<<" är shift-left kommando, ">>" är shift-right kommando.
A <<= 2; flyttar upp värdet i A med 2 platser till vänster vilket är det samma som att multiplicera med 4 fast det går snabbare.
Och på vilket sätt omvandla mellan olika talsystem?
Den valda µC (i detta fall en PIC) kan läsa minnesceller (RAM) och i en byte där finns ett värde mellan 0 och 255, inget annat!
Om vi tar t.ex. 211 decimalt kan det även skrivas som 11010011 binärt, 323 oktalt och D3 som hexadecimalt. För att kompilern ska fatta vad som är vad startar man hex(adecimalt) med 0x, det blir alltså 0xD3, ANSI C använder versalt 'O' som tecken på oktalt värde, alltså blir det 0323 (noll-3-2-3). Vissa kompilare medger binär input med 0b före, har för mig att MikroC har det och det blir då 0b11010011.
Och alla dessa sätt anger bara det samma värde: 211 decimalt.
Så sluta prata om att den omvandlar osv. det är ENBART hur DU skriver det i kompilern som avgör.
Vissa saker kan vara praktisk att skriva i binärt (systemregister, inställningar osv.), andra kan vara praktiska i hex och många är bra som decimala värden men de är ALLA uttryck för det samma: värdet på en(eller fler) byte(s).
Ett tips: flytta dina kommentarer i det första inlägget till vänster så sidan inte blir så bred, det är irriterande att skulle scrolla i sidled för en struntsak.
Edit: ändrat i sakfel enl. mri's inlägg härunder.
binär till float
> Vad menar du med att det *INTE* är ett binärt tal?
Det *kan* vara det.
Men det kan lika gärna var oktalt, decimalt, hex eller vilken annan bas
som helst som minst har siffrorna "0" och "1". Ingen kan veta det
om du inte specificerar vilken bas du använder.
> för en viss temperatur tex vid 20 grader visar den alltid 20.3?
Det är ju samma sak !
20.0 och 20.3 är däremot olika värden.
Men hur vet du att temperaturen inte är just 20.3 grader ?
Det *kan* vara det.
Men det kan lika gärna var oktalt, decimalt, hex eller vilken annan bas
som helst som minst har siffrorna "0" och "1". Ingen kan veta det
om du inte specificerar vilken bas du använder.
> för en viss temperatur tex vid 20 grader visar den alltid 20.3?
Det är ju samma sak !
20.0 och 20.3 är däremot olika värden.
Men hur vet du att temperaturen inte är just 20.3 grader ?
Du vill ha en bok om språket C, för som andra redan skrivit så är det en del luckor i dina antaganden och resonemang. Att exempelvis använda unsigned int utan att veta vad det är, ringer lite i varningsklockorna.Lullen skrev: en C-bok för µC skulle jag gärna ha
Skaffa boken "The C programming language" av Kernighan & Richie. Läs den pärm till pärm, iallafall fram till och med kapitlet om datatyper. Vänta med pekare, du kommer bli förvirrad att du gärna vill slänga språket helt och hållet.