## Solved: Constante Byte or Integer

For questions and comments on programming in general. And for any items that don't fit into the forums below.

Moderators: Benj, Mods

Rudi
Posts: 666
Joined: Mon Feb 10, 2014 4:59 am
Has thanked: 494 times
Been thanked: 188 times

### Solved: Constante Byte or Integer

Hi

i only ask because i do not sure know.

because BoostC makes fail if i set a Byte in a struct in c code icon i change it from Type Byte to Type Int.

Then i allocation the menu.command to a FC byte Variable as Type Byte ( i think i must take a int variable - i will try later this )

This FC Variable i switch and compares to the FC Constante.

But this not right switch in this way.

After i set in Variable Manager the Value each Constante from 0...1 ....2.... explizit '0' ...'1'....'2'..
the switch work fine.

I ask: Which type is this Constante then if i write the value a Byte or Integer?
Is this with Value : 0 a Byte Variable?
is this with Value : '1' a Integer Variable?

i think Byte Type without Strokes, Int Type with Strokes, String Type with Double Strokes - i am right?

because i set in struct the command as a Int then i must set the constant variable explizite as a int constante by strokes ?

.. it works ..
i only what if someone can this continued i am sure

best wishes
Rudi
Last edited by Rudi on Fri Jun 27, 2014 8:26 pm, edited 1 time in total.

Benj
Matrix Staff
Posts: 14671
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4655 times
Been thanked: 4277 times
Contact:

### Re: No Hurry - Constante Byte or Integer

i think Byte Type without Strokes, Int Type with Strokes, String Type with Double Strokes - i am right?

x = 0

is not the same as

x = '0'

In the second example we are assigning the ASCII value of '0' which is actually 48.

http://www.asciitable.com/

So nothing to do with bytes or ints, just different values.

A byte is one 8-bit data location containing the value 0 - 255, An int is two 8-bit data locations which when combined by the compiler contain the value 0 - 65535.

A string is an array of bytes each containing an ASCII character.

because BoostC makes fail if i set a Byte in a struct in c code icon i change it from Type Byte to Type Int.

Byte is not valid C syntax try using Type char instead.
These users thanked the author Benj for the post:
Rudi (Fri Jun 27, 2014 5:10 pm)
Rating: 5%

Rudi
Posts: 666
Joined: Mon Feb 10, 2014 4:59 am
Has thanked: 494 times
Been thanked: 188 times

### Re: No Hurry - Constante Byte or Integer

Benj wrote:
i think Byte Type without Strokes, Int Type with Strokes, String Type with Double Strokes - i am right?

x = 0

is not the same as

x = '0'

In the second example we are assigning the ASCII value of '0' which is actually 48.

http://www.asciitable.com/

So nothing to do with bytes or ints, just different values.

A byte is one 8-bit data location containing the value 0 - 255, An int is two 8-bit data locations which when combined by the compiler contain the value 0 - 65535.

because BoostC makes fail if i set a Byte in a struct in c code icon i change it from Type Byte to Type Int.

Not sure why BoostC would error on a byte, did you use the constructor char or byte? I think using the word char should work just fine to give you an 8-bit value in your struct.

Dear Benj,

thank you!

Shame on me! Allways this Bytes - Int in my Head.
I am now going into the corner and ashamed a long round.
Have a nice weekend - i will post no more new post before monday
So long i will stand into the corner

benj you are right, if constructor char BoostC will compile, if constructor Byte BoostC will not work.

i found this:

http://forum.sourceboost.com/index.php?showtopic=5124

struct _makesFail
{
byte test;
} FAILES;

struct _makesOk
{
int test;
char test2[20];
} MAKESOK;

best wishes!
Rudi

..i go into the corner now.

...edit...

btw..

i found this on my way into the corner ...

http://forum.sourceboost.com/index.php?showtopic=4898

edit
Info:
-----
Into the corner there is no pc and i have think fine..
i have think, i must define the BYTE not only for BoostC
because C is not knowing about BYTE..

only:

char
int
float
double
void

that BoostC know what word i mean with BYTE
So i think ..
in many src code from microchips are the struct code wrote with word BYTE..

Code: Select all

`struct _makesFail{BYTE test;} FAILES;`

but this fails at BoostC, because no word with BYTE is define ..
And 8bit Variables are In Flowcode with word "MX_UINT8"

so before the struct with BYTE
i make a

Code: Select all

`typedef unsigned char      BYTE;     // this are 8-bit unsigned`

and this will work fine:

Code: Select all

`struct _goesAha{BYTE test;} goesAha;`

best wishes
Rudi

For more word and type ..
examples.. in GenericTypeDefs.h
Last edited by Rudi on Fri Jun 27, 2014 8:21 pm, edited 1 time in total.
These users thanked the author Rudi for the post:
Benj (Fri Jun 27, 2014 5:09 pm)
Rating: 5%