مگر 8 بیت یک بایت نمی شود پس چگونه در این الگوریتم تعداد بیت ها یک بایت میشوند؟
سلام دوستان
مگر 8 بیت یک بایت نمی شود پس چگونه در این الگوریتم تعداد بیت ها یک بایت میشوند؟
میزان فضای ذخیره شده در struct زیر چقدر است؟
با تشکر از دوستان
نقل قول: مگر 8 بیت یک بایت نمی شود پس چگونه در این الگوریتم تعداد بیت ها یک بایت میشوند؟
از
int size = sizeof(struct a);
std::cout << size << std::endl;
استفاده کن.
نقل قول: مگر 8 بیت یک بایت نمی شود پس چگونه در این الگوریتم تعداد بیت ها یک بایت میشوند؟
سلام.
اون 8 ای که با sizeof بدست میاد تعداد بیت ها نیست تعداد بایت ها هست یعنی 64 بیت. 32 بیت برای float و 7 بیت برای دوتای دیگه و بقیشم بین این دو تا به اجبار حبس میشه یعنی تقسیماتش 32 بیتی هست ولی اگه از کامپایلر دایرکتیو استفاده کنی به شکل زیر می تونی سایزشو به 6 بایت برسونی :
#pragma pack (push,1)
struct a
{
int i : 3 ;
Char k : 4 ;
float p ;
} x;
#pragma pack (pop)
و یا اینکه اول float رو بنویسی بعد اون دو تا کوچیک تر رو. یعنی به ترتیب بزرگی سایز.