I have just started my data type revised chapter, I am currently studying the concept of signed and unsigned character. My suspicion is that there is a limit of 128 to 127 in the signed room, then why are the code given below still running? Apart from this, the code given below is giving the Infinite O / P which I do not understand
Main () {Four f; Printf ("\ n% d% c", ch, ch) for (ch = 0; ch & lt; = 255; ch ++); } Am I currently using the GCC 32-bit compiler? Can someone help me understand the O / P code given above?
for (ch = 0; ch & lt; = 255; ch ++) If ch is a signed character, then it will begin with 0 and increase will be 127. Then, on the next increment, it will be "wrap around" and -128. Using unsigned char : 127 = 0x7f 128 = 0x80 , but a Using signed four, 0x80 becomes -128. Now it will run from ch -128 to 127. And since then, less than 255 of those values, it repeats until you stop the program ..
No comments:
Post a Comment