به خاطر این است که دستور Solve به صورت پیشفرض برابریتان را بر روی عددهای مختلط حل میکند. اگر میخواهید تنها به عددهای حقیقی محدود شود باید گزینهٔ Reals را به انتهایش بیفزائید یعنی
Solve[2^x==256,x,Reals]
در این صورت خروجیتان به شکل زیر میشود.

در ضمن اگر به خروجی مختلط نیز نگاه کنید قسمت حقیقیِ پاسخ برابر با ۸ است و برای قسمت موهومی به ازای هر انتخاب صحیح از $c_1$ یک مقدار متفاوت دارید که یکی از آنها اگر $c_1=0$ برابر صفر است، پس عدد ۸ در بین پاسخهای مختلط دیده میشود.