We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
hello, I would like to do a bit test of a unsigned char variable. It's like a jb in assembler.
here is my code in c.
unsigned char displ; unsigned char display3 = 0xA8; unsigned char i; sbit display_data = P1^0; displ = display3; for (i=0; i<7; i++) { if (displ^0 == 1){ display_data = 0; } else { display_data = 1; } displ>>=1; }
I don't have any warning or error, but the result of test is wrong. is it possible to do in c?
tkx.
I detest the use of
for (i = 0 ; i < 7; ++i ) { instead of for (i = 0 ; i < 7; ++i ) {
Is it just me that consider that style rendering the code unreadable?. In my opininion any '{' should be in the same column as the matchibg '}'
now that I have been 'mean', let me be 'kind'
instead of
if (displ^0 == 1) use sbit Ralph displ^0 .... if (Ralph)
Erik
"I detest the use of..."
It is purely a matter of style - and such debates always produce strong opinions.
Others would say that they detest the useless waste of a line with just a '{' on it, that it unnecessarily breaks up the code, etc, etc...
"Is it just me that consider that style rendering the code unreadable?"
I don't know about "unreadable", but I also dislike it.
However, this style has extremely good credentials - it's what messrs Kernighan & Ritchie themselves use in their definitive work on the subject!
c-faq.com/.../layout.html
I used to detest that K&R style also, but after contracting for so many companies, each invariably with different coding style rules, I've learned to be at peace with whatever as long as it's consistent. For forum posts however, I have adopted the K&R style for the simple reason of conserving vertical space in threads.
Right now, I'm contracting to the same outfit where the K and the R of K&R work, so guess which brace style I'm using at present. ;-)
This is not quite as K&R would have it:
for (i=0; i<7; i++) { if (displ^0 == 1){ display_data = 0; } else { display_data = 1; } displ>>=1; }
"True" K&R style would be:
The "controlled" lines are indented relative to the "controlling" lines.
I guess they did that to illustrate the lf/cr independence of C.
so, this would be step one towards the 'ultimate' C program (the whole shebang in one line)
OK, I agree that on matters of style everybody has a (different) opinion and the only reason I happened to bring it up was that this particular 'style' threw me off a bit in this case. I appreciate getting one 'yes' (makes me feel not crazy [in this respect]) and let us leave it at that.
PS re 'conserving linespace' I often do this if (blah) { // since blah is set .....
"PS re 'conserving linespace' I often do this if (blah) { // since blah is set ....."
Yes - so do I!
The comment aligns with the indented text:
if( condition ) { // Condition is true - time to do stuff do_stuff(); do_other_stuff(); etc(); }
well, fortunately, while we have to adhere to the syntax, we are free to improve on the style.
I have a lingering suspicion that K&R are, at least partially, responsible for much of the "elegant" C that abounds
PS if anyone does not get that I am fastidious when stating "elegant" the are now told.