common\models\Post Object ( [cat] => [file] => [time_create] => [datefarsi] => [tag] => [_attributes:yii\db\BaseActiveRecord:private] => Array ( [id] => 982 [title] => آشنایی از صفر با اعداد باینری تا کاربرد سطح بالا [body] =>

تا به حال کاربرد اعداد باینری در سطوح بالاتر را دیده. اید ؟ چه قدر با این اعداد و نحوه کار آنها آشنایی دارید ؟

سلام 

امروز میخواهیم به صورت. خیلی ابتدایی  اعداد باینری را معرفی کنیم 

 

 

قرض کنید شما فقط ۲ سیمبول  داشته باشید یکی 0 یکی هم 1 .. 

اگر با صفر شروع کنیم اولین عدد می شو د 

0

سپس عدد بعدی میشه 1 و برای عدد ۲ هیچ سیمبولی نداریم !

 

خب دقیقت کردید که برای اعداد عادی ( decimal ) هم به همین شکل است ما از  صفر تا  ۹ سیمبول داریم و وقتی  به عدد ۱۰ میرسیم داریم از سیمبول های قبلی استفاده میکنیم . 

 

ما در اعداد دسیمال وقتی به عدد 9 میرسیم برای ده هیچ سمبولی نداریم و یک عدد 1 به کنار 0 اضافه میکنیم و ..

 

 

برای باینری هم به همین ترتیب برای عدد دو کافیه یک عدد 1 کنار 0 بذاریم یعنی 2 میشه 10

برای عدد ۳ میشه 11 برای عدد ۴ چی ؟ باید دقیقا کاری را بکنیم که وقتی در دسیمال به عدد ۹۹. میرسیم ! عدد بعدی را مینویسیم ۱۰۰ !

یعنی یک چون عدد قبلی تا ۲ رقم پر شده بود و هر دو رقم ها ها به ماکسیموم خودشون یعنی 1 رسیده بودند باید وارد عدد ۳ رقمی بشیم یعنی ۴ میشه 100 !

به همین ترتیب میریم جلو 

Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Binary: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111

 

حالا که فهمیدیم باینری عدد ۷ میشه 111 میتونید این استوری آسناسور باینری و بهتر درک کنید !

 

بریم کاربرد ی ترش کنیم 

برای سوال swaping کردن بدون متغیر سوم یکی از روش استفاده از XOR است در واقع XOR روش جابه جایی اطلاعات نیست اما نتجیه جالبی هنگام xor کردن اعداد به دست میاد که میشه این نتیجه رو ازش گرفت . 

 

[date] => 2020-04-03 10:04:58 [file_path] => [thumb_nail] => [summery] => [pic] => [link] => [slug] => آشنایی-از-صفر-با-اعداد-باینری-تا-کاربرد-سطح-بالا [author_id] => 4 [author] => ) [_oldAttributes:yii\db\BaseActiveRecord:private] => Array ( [id] => 982 [title] => آشنایی از صفر با اعداد باینری تا کاربرد سطح بالا [body] =>

تا به حال کاربرد اعداد باینری در سطوح بالاتر را دیده. اید ؟ چه قدر با این اعداد و نحوه کار آنها آشنایی دارید ؟

سلام 

امروز میخواهیم به صورت. خیلی ابتدایی  اعداد باینری را معرفی کنیم 

 

 

قرض کنید شما فقط ۲ سیمبول  داشته باشید یکی 0 یکی هم 1 .. 

اگر با صفر شروع کنیم اولین عدد می شو د 

0

سپس عدد بعدی میشه 1 و برای عدد ۲ هیچ سیمبولی نداریم !

 

خب دقیقت کردید که برای اعداد عادی ( decimal ) هم به همین شکل است ما از  صفر تا  ۹ سیمبول داریم و وقتی  به عدد ۱۰ میرسیم داریم از سیمبول های قبلی استفاده میکنیم . 

 

ما در اعداد دسیمال وقتی به عدد 9 میرسیم برای ده هیچ سمبولی نداریم و یک عدد 1 به کنار 0 اضافه میکنیم و ..

 

 

برای باینری هم به همین ترتیب برای عدد دو کافیه یک عدد 1 کنار 0 بذاریم یعنی 2 میشه 10

برای عدد ۳ میشه 11 برای عدد ۴ چی ؟ باید دقیقا کاری را بکنیم که وقتی در دسیمال به عدد ۹۹. میرسیم ! عدد بعدی را مینویسیم ۱۰۰ !

یعنی یک چون عدد قبلی تا ۲ رقم پر شده بود و هر دو رقم ها ها به ماکسیموم خودشون یعنی 1 رسیده بودند باید وارد عدد ۳ رقمی بشیم یعنی ۴ میشه 100 !

به همین ترتیب میریم جلو 

Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Binary: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111

 

حالا که فهمیدیم باینری عدد ۷ میشه 111 میتونید این استوری آسناسور باینری و بهتر درک کنید !

 

بریم کاربرد ی ترش کنیم 

برای سوال swaping کردن بدون متغیر سوم یکی از روش استفاده از XOR است در واقع XOR روش جابه جایی اطلاعات نیست اما نتجیه جالبی هنگام xor کردن اعداد به دست میاد که میشه این نتیجه رو ازش گرفت . 

 

[date] => 2020-04-03 10:04:58 [file_path] => [thumb_nail] => [summery] => [pic] => [link] => [slug] => آشنایی-از-صفر-با-اعداد-باینری-تا-کاربرد-سطح-بالا [author_id] => 4 [author] => ) [_related:yii\db\BaseActiveRecord:private] => Array ( ) [_relationsDependencies:yii\db\BaseActiveRecord:private] => Array ( ) [_errors:yii\base\Model:private] => [_validators:yii\base\Model:private] => [_scenario:yii\base\Model:private] => default [_events:yii\base\Component:private] => Array ( ) [_eventWildcards:yii\base\Component:private] => Array ( ) [_behaviors:yii\base\Component:private] => Array ( ) )
An Error occurred while handling another error:
yii\web\HeadersAlreadySentException: Headers already sent in /home/avishost/public_html/frontend/controllers/PostController.php on line 75. in /home/avishost/public_html/vendor/yiisoft/yii2/web/Response.php:366
Stack trace:
#0 /home/avishost/public_html/vendor/yiisoft/yii2/web/Response.php(339): yii\web\Response->sendHeaders()
#1 /home/avishost/public_html/vendor/yiisoft/yii2/web/ErrorHandler.php(136): yii\web\Response->send()
#2 /home/avishost/public_html/vendor/yiisoft/yii2/base/ErrorHandler.php(123): yii\web\ErrorHandler->renderException(Object(yii\base\ErrorException))
#3 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\base\ErrorException))
#4 {main}
Previous exception:
yii\base\ErrorException: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent in /home/avishost/public_html/vendor/yiisoft/yii2/web/Session.php:399
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(2, 'session_set_coo...', '/home/avishost/...', 399, Array)
#1 /home/avishost/public_html/vendor/yiisoft/yii2/web/Session.php(399): session_set_cookie_params(Array)
#2 /home/avishost/public_html/vendor/yiisoft/yii2/web/Session.php(135): yii\web\Session->setCookieParamsInternal()
#3 /home/avishost/public_html/vendor/yiisoft/yii2/web/Session.php(630): yii\web\Session->open()
#4 /home/avishost/public_html/vendor/yiisoft/yii2/web/Session.php(769): yii\web\Session->get('__flash', Array)
#5 /home/avishost/public_html/common/widgets/Alert.php(51): yii\web\Session->getAllFlashes()
#6 /home/avishost/public_html/vendor/yiisoft/yii2/base/BaseObject.php(109): common\widgets\Alert->init()
#7 [internal function]: yii\base\BaseObject->__construct(Array)
#8 /home/avishost/public_html/vendor/yiisoft/yii2/di/Container.php(392): ReflectionClass->newInstanceArgs(Array)
#9 /home/avishost/public_html/vendor/yiisoft/yii2/di/Container.php(159): yii\di\Container->build('common\\widgets\\...', Array, Array)
#10 /home/avishost/public_html/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get('common\\widgets\\...', Array, Array)
#11 /home/avishost/public_html/vendor/yiisoft/yii2/base/Widget.php(137): yii\BaseYii::createObject(Array)
#12 /home/avishost/public_html/frontend/views/layouts/main.php(294): yii\base\Widget::widget()
#13 /home/avishost/public_html/vendor/yiisoft/yii2/base/View.php(348): require('/home/avishost/...')
#14 /home/avishost/public_html/vendor/yiisoft/yii2/base/View.php(257): yii\base\View->renderPhpFile('/home/avishost/...', Array)
#15 /home/avishost/public_html/vendor/yiisoft/yii2/base/Controller.php(401): yii\base\View->renderFile('/home/avishost/...', Array, Object(frontend\controllers\PostController))
#16 /home/avishost/public_html/vendor/yiisoft/yii2/base/Controller.php(387): yii\base\Controller->renderContent('\n<!--end loadin...')
#17 /home/avishost/public_html/frontend/controllers/PostController.php(84): yii\base\Controller->render('view', Array)
#18 [internal function]: frontend\controllers\PostController->actionView('982')
#19 /home/avishost/public_html/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#20 /home/avishost/public_html/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#21 /home/avishost/public_html/vendor/yiisoft/yii2/base/Module.php(528): yii\base\Controller->runAction('view', Array)
#22 /home/avishost/public_html/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction('post/view', Array)
#23 /home/avishost/public_html/vendor/yiisoft/yii2/base/Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#24 /home/avishost/public_html/frontend/web/index.php(21): yii\base\Application->run()
#25 {main}