Jump to content

Wrong Result When Explicitly Casting During A Shift


Recommended Posts

I think this is a bug.

 

unsigned short y;

unsigned char x;

 

 

lets say

y=FF45 ;

 

i would like to put the high byte of y into x

 

if I do an implicit casting:

x = y >> 8;

 

the result is correct x = FF

 

If I do an explicit casting:

 

x = (unsigned char) y >> 8;

 

I get x = 00

Link to post
Share on other sites
No error here. Your expression first casts short to char and than shifts this char.

 

Regards,

Pavel

 

In this case should'nt it be x=45?

 

OOps, I see youir point - my mistake

 

I think 0x00 is a perfectly good result. You are shifting in a '0' from the left 8 times not rotating a char 8 times.

 

Cheers

 

Reynard

Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...