scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)

2021-01-08 大於小澍

二進位

進位轉換圖

【原創】文章全部內容皆為作者原創,如有轉載請註明出處

我們人類有十根手指,通常情況下我們在生活中的計數方式為「十進位」(即0-9),也就說滿十進一;

而在計算機的世界裡,基礎電路只有「開/關(通/斷)」(即0/1)兩種情況,這與誕生幾千年的二進位不謀而合;

例如:二進位數字110,表達的就是十進位中的6;

二進位數字1111,表達的就是十進位中的15。

不要懵,其實聯眾東西本質是一樣的,只是表達方式不同罷了,中國話和外國話的區別吧。

我們來看表:

以上表格就是0-16的表達對照

大家有沒有發現這樣的規律呢?

十進位→二進位→解釋;

2→10→二的一次方;

4→100→二的二次方;

8→1000→二的三次方;

16→10000→二的四次方;

下面我出三道題大家來試著做一下:

將下列十進位數字轉換成二進位:

23;27;35;思路1:這是我經常用的辦法:

23=16+7=16+4+3=2的四次方+2的二次方+3=(二進位)10000+100+11=10111;

27=16+11=16+8+3=2的四次方+2的三次方+3=(二進位)10000+1000+11=11011;

35=32+3==2的五次方+3=(二進位)100000+11=100011;

列豎式計算也很方便,大家可以試一試,要記得逢2進1哈!

思路2:依稀記得這是我高中數學老師教的方法:短除法

23轉換二進位

這個符號大家可以理解為「23除以2等於12寫在下面,餘1寫在左邊」

這是我們將最下面的1和右側的「餘數」自下向上的連接起來,23轉換為二進位寫成「10111」。這樣的道理可以理解麼?後面兩道題大家在有這種方法試著轉換一下,是不是簡單多了?嘻嘻

27轉換二進位

這是我們將最下面的1和右側的「餘數」自下向上的連接起來,27轉換為二進位寫成「11011」。

35轉換二進位

1和右側的「餘數」自下向上的連接起來,35轉換為二進位寫成「100011」。

我上課時,拍學生在解題

使用程小奔機器人來完成「十進位轉換二進位」:

我現在覺得這樣的還是麻煩,因為需要我動筆計算,我先讓大家使用軟體「慧編程5」製作出來一個一勞永逸的程序來,可以滿足100以內的轉換即可。

要求:按下A鍵,程小奔顯示「齒輪電位器讀值」,撥動齒輪電位器可以隨意改變該值;

按下B鍵,將此時的值轉換為二進位,並顯示在屏幕上(記住,二進位末尾要+B,表示其二進位的身份)。

腳本截圖

上傳個小視頻,是我上課時候拍的:

瀏覽器版本過低,暫不支持視頻播放

程小奔運行界面拍攝

相關焦點

  • scratch3.0圖形化編程軟體解決「進位轉換(二進位)」問題
    網友互動留言收到網友的評論,我前幾天發的「十進位轉二進位」的文章,網友表示沒有程小奔機器人,是否可以做一個scratch版本的,放心!這就安排!二進位的故事我們這裡就不科普了哈!想要回顧的請移步「百度百科」,嘻嘻首先 我們來看一下1~16 的一個二進位與十進位的對照表格:以上表格就是0-16的表達對照這種方法就是我之前文章的「思路1」,感興趣的網友們可以去看一下我之前的文章連結→scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)這次我們主要說一下「短除法」思路解決十進位轉換為二進位
  • scratch製作「二進位轉十進位」
    我們之前學習並製作過「十進位轉二進位」的小程序:如圖:學生作品1「十進位轉二進位」學生作品2「十進位轉二進位」接下來我們製作「二進位轉十進位」的小程序。樣例輸入:11011樣例輸出:27方法1,從前向後遍歷新建變量:二進位,用於存儲回答中輸入的二進位數字長度,輸入二進位數字的長度(scratch相對簡單,不用區分變量的類型)十進位,初始化為0,用於累加轉換好的數字和最後的輸出。
  • 進位轉換 二進位轉十進位
    上節課我們學習了十進位轉換成二進位的方法,那二進位轉換十進位是怎麼轉換的呢?
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—>
  • 十進位轉二、八、十六進位
    二進位如何轉十進位,十進位如何轉二進位計算機內部表示數的字節單位是定長的,如8位,16位,或32位。所以,位數不夠時,高位補零,所說,如圖3所示,42轉換成二進位以後就是。00101010,也即規範的寫法為(42)10=(00101010)2.趕緊記住吧。
  • JS十進位轉換二進位
    最近因為需求,要接觸到前端JS的一些東西,遇到需要把十進位數字轉換為二進位,並且補全對應位數,覺得蠻有趣的,所以把它記錄下來。十進位轉二進位方法其實很簡單,一個函數搞定了:var value = parseInt(12).toString(2);//parsetInt裡面是要轉換的數字,toString裡面是要轉換的進位,//如果要轉換為其他進位,替換掉就好了,so easy。
  • 二進位,八進位,十進位,十六進位之間的轉換
    二進位轉換首先來看十進位到二進位:除2取餘數 最後把餘數倒過來 100101比如:十進位數37所以轉換成的二進位數字為:100101再來八進位到二進位:一個八進位的位拆分成一個三位的二進位數>十進位到八進位:除8取餘數 最後把餘數倒過來同時我們也可以先將十進位轉換成二進位,然後將二進位又轉換成八進位比如:2456 轉化成八進位數字:46302456/8=307,餘0;307/8=38,餘3;38/8=4
  • 二進位、八進位、十進位、十六進位數的轉換方法
    一 、數制 計算機中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述,又常用八、十六進位作為二進位的縮寫。-2+…+a2*p2+a1*p1+a0*p02、十進位數與P進位數之間的轉換①十進位轉換成二進位:十進位整數轉換成二進位整數通常採用除2取餘法,小數部分乘2取整法。
  • 6、計算機進位之二進位、十進位、十六進位之間的轉換
    4、進位之間的轉換4.1、正整數的十進位轉換二進位將一個十進位數除以二,得到的商再除以二,依此類推直到商等於一或零時為止,倒取除得的餘數,即換算為二進位數的結果4.2、二進位轉換為十進位二進位轉十進位的轉換原理:從二進位的右邊第一個數開始,每一個乘以2的n次方,n從0開始,每次遞增1。然後得出來的每個數相加即是十進位數。
  • 二進位轉換為十進位和十進位轉換為二進位的方法
    各位小夥伴們大家好,在之前的文章中小編也介紹了關於二進位轉十進位的方法,這次小編知道了一個更簡單的方法,具體如下:比如我們要把28轉為二進位:28轉換為2進位先用2的n次方來表示28這個數,然後用2的n次方乘以1或者乘以0,相加來湊成與之相等的數,得到的1或者是0,根據這個表格,從左往右把二進位數字湊在一起,11100就是28的二進位了。
  • 10、進位轉換:二進位、八進位、十六進位、十進位之間的轉換
    將二進位、八進位、十六進位轉換為十進位二進位、八進位和十六進位向十進位轉換都非常容易,就是「按權相加」。所謂「權」,也即「位權」。假設當前數字是 N 進位,那麼:更加通俗的理解是,假設一個多位數(由多個數字組成的數)某位上的數字是 1,那麼它所表示的數值大小就是該位的位權。
  • 二進位轉換十進位,十進位轉換二進位
    如果把一個十進位的數轉換成二進位的數 , 直接把數除 以二 , 餘數為一就寫1 , 整除 , 就寫0 , 一直除完為止
  • 二進位、八進位、十進位與十六進位
    例如對於二進位來說,該規則是「滿二進一,借一當二」;對於十進位來說,該規則是「滿十進一,借一當十」。其他進位也是這樣。然後把第一次得到的餘數作為二進位的個位,第二次得到的餘數作為二進位的十位,依次類推,最後一次得到的小於2的商作為二進位的最高位,這樣由商+餘數組成的數字就是轉換後二進位的值(整數部分用除2取餘法);小數部分則先乘2,然後獲得運算結果的整數部分,將結果中的小數部分再次乘2,直到小數部分為零。
  • 個人總結——二進位、十進位、十六進位轉換的方法
    近期和同事溝通時發現很多小夥伴多進位的轉換不太清晰,所以趁著周末自己總結了一下和大家分享想,下面先了解下定義。
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    其他數制之間的轉換可以通過二進位數作為中間橋梁,先轉化為二進位數,再轉化為其他進位數。二進位的運算規則在計算機中,採用二進位數可以非常方便地實現各種算術運算和邏輯運算。位權:對於 N進位數,整數部分第i位的位權為N^(i-1),方法為:3位二進位數按權展開相加得到1位八進位數。(注意事項,3位二進位轉成八進位是從右到左開始轉換,不足時補0)。口訣「4 2 1」,3個數字的第一位代表著4,第二位代表著2,第三位代表1(從左往右)如:010=2  110=6   111=7   001=1方法為:與二進位轉八進位方法近似,八進位是取三合一,十六進位是取四合一。
  • 計算機的語言——二進位,十進位、八進位、十六進位與二進位之間的轉換
    而C程序代碼中的整數常量,為了書寫方便,用十進位、八進位、十六進位表示,比如:十進位整數123、-23、+99等。而無論十進位、八進位還是十六進位數據在計算機中表示是轉換成二進位編碼表示,計算機中只存在二進位。
  • 二進位,八進位,十進位,十六進位轉換詳解~
    規則逢二進一逢八進一逢十進一逢十六進一權2^i-18^i-110^i-116^i-12.進位轉換十進位01234567          小數:0.11= 1×2^-1 + 1×2^-2 (以小數點為界逐步向右排序)        2.八進位···>十進位        轉換原則:讓八進位各位上的係數乘以對應的權,然後求其和。
  • 如何實現二進位轉十進位的設計
    設計背景: 二進位轉十進位在設計應用中十分的廣泛。尤其在AD轉化中是必須所用到的一個小知識點,學習二進位轉十進位的方法顯的非常的重要。今天就和筆者來學習二進位轉十進位的方法,通過簡單的學習來掌握這麼一門知識。
  • 二進位、八進位、十進位、十六進位之間的轉換
    反過來,當我們看到 FD時,如何迅速將它轉換為二進位數呢?先轉換F:        看到F,我們需知道它是15(可能你還不熟悉A~F這六個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。接著轉換 D:        看到D,知道它是13,13如何用8421湊呢?