Printing byte prints four bytes


i have debug output sequence in code
code: [select]

// c++ not use named parameters so, make things more clear,
//  parameter values individually.
// 0..9 range references variable coordinatebyte[]
row = random(0, 9);
column = random(0, 9);

// interval old time lapse
interval = random(200, 2000);

if (debug)
{
serial.print("row number ");
serial.println(row, dec);
serial.print("row pattern ");
serial.println(~coordinatebyte[row], bin);
serial.print("column number ");
serial.println(column, dec);
serial.print("column pattern ");
serial.println(coordinatebyte[column], bin);
serial.print("interval period ");
serial.print(interval, dec);
serial.println(" ms");
serial.println();
}


(coordinatebyte[] defined as

// define data write matrix
int coordinatebyte[] = {0, 1, 2, 4, 8, 16, 32, 64, 128 };


the debug printout
code: [select]

opening port
port open
row pattern 11111111111111111111111111110111
column pattern 1
interval period 353 ms

row pattern 11111111111111111111111111101111
column pattern 10000
interval period 988 ms

row pattern 11111111111111111111111111011111
column pattern 100000
interval period 1763 ms

row pattern 11111111111111111111111101111111
column pattern 10000
interval period 1573 ms

row pattern 11111111111111111111111101111111
column pattern 1000
interval period 216 ms

row pattern 11111111111111111111111111110111
column pattern 10000000
interval period 358 ms


why row pattern show 4 bytes?  feral tilde ('~')?

i'm bit confused variable names , apparent mismatch between debug statements in code snippet , output generated.

usually, best post entire code.

it true int datatype on arduino occupies 2 bytes. if doing bit manipulation, better off using unsigned int rather int.  you can try casting expression ~myint integer type of choice before printing it, (unsigned int) ~myint


Arduino Forum > Using Arduino > Programming Questions > Printing byte prints four bytes


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???