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}