با سلام
مشکلی دارم که ممنون میشم اگه کسی بتونه کمکم کنه:
در نرم افزار کدویژن یک متغیر long int a داریم. می خواهیم a رو به چپ شیفت بدیم. حال اگه a رو به اندازه یک عدد مثلا 20 شیفت بدیم مشکلی نداره، اما اگه عدد 20 رو بریزیم توی متغیر ثانوی b و عملیات شیفت رو انجام بدیم warning می ده و عملیات شیفت رو حداکثرتا 16 انجام می ده.
نمونه برنامه:
long int a ;
char b ;
warning: overflow is possible in 16 bit shift left <<== a |= 0x01 << b
NO warning <<== a |= 0x01 << 20
درحقیقت می خواهم warning که نوشتم برطرف بشه.
مشکلی دارم که ممنون میشم اگه کسی بتونه کمکم کنه:
در نرم افزار کدویژن یک متغیر long int a داریم. می خواهیم a رو به چپ شیفت بدیم. حال اگه a رو به اندازه یک عدد مثلا 20 شیفت بدیم مشکلی نداره، اما اگه عدد 20 رو بریزیم توی متغیر ثانوی b و عملیات شیفت رو انجام بدیم warning می ده و عملیات شیفت رو حداکثرتا 16 انجام می ده.
نمونه برنامه:
long int a ;
char b ;
warning: overflow is possible in 16 bit shift left <<== a |= 0x01 << b
NO warning <<== a |= 0x01 << 20
درحقیقت می خواهم warning که نوشتم برطرف بشه.
دیدگاه