در برنامه زیر خروجی کدام است ؟
کد: انتخاب همه
main()
{ int a=353; char b=a;
printf("\n %d%c%c%d",a,a,b,b);}
1)97aa97 2)343GG97 3)353GG353 4)353aa97
جواب گزینه 4 میشه
چون متغیر b از نوع char هست و چون علامت داره رنجش از -128 تا +127 و چون 353 از این رنج بیشتره باید تبدیل به باینری بشه و 8 بیت اولش رو جدا کنیم و تو متغیر b بریزیم
حالا مشکل من اینجاست من 8 بیت اول رو درآوردم 01100001 از اونجایی که تو کتاب توضیح داده چون متغیر b علامت داره باید متمم 2 ازش بگیریم ولی تو جواب تشرحی این کار رو نکرده
می خواستم در مورد اینگونه سوالات یه توضیح مختصر بدید
ممنون

