पर डालें (चार) 0xff की बायीं तरफ 8 और इसे int में कास्टिंग करने के लिए हमें -256 या 0xffffff00 मिलता है। क्या कोई यह समझा सकता है कि ऐसा क्यों होना चाहिए?सी में बाएं शिफ्ट (चार) 0xFF 8 तक और इसे int
#include <stdio.h>
int main (void)
{
char c = 0xff;
printf("%d %x\n", (int)(c<<8),(int)(c<<8));
return 0;
}
आउटपुट
-256 ffffff00
char की हस्ताक्षर कार्यान्वयन परिभाषित किया गया है। –