Day7 進位的表示與轉換

2020-12-24 大學生的電腦課

這節課的內容太簡單了……

學習進位的轉換。

在計算機中,我們常用的進位有4種。

一、二進位(Binary)

在二進位裡,只有 0 和 1,二進位的運算遵循逢二進一。

在 python 中要輸入一個二進位數,你不能直接輸入。

比如我輸入一個 666 看看。

很明顯這是個十進位。

要輸入一個二進位,你要先把它轉換成二進位。

用短除法算一下:

結果倒著寫,也就是說十進位數 666 的二進位數是 1010011010,把它輸入 py 中。

這玩意兒是個,看起來很像二進位數的十進位數。

這是因為在 python 中,默認情況下認為你輸入的數都是十進位的。

要輸入二進位,你得給它加一個 0b 的前綴,是數字 0 和字母 b,不要搞錯了。

如上圖,py 告訴你你輸入的是十進位的 666。

因為本節課內容比較少,所以我補充一個手工速算十進位到二進位的轉換方法。

左側圖中,綠色的數字分別為 2 的 0 次方,2 的 1 次方,以此類推到無限大。

右側從 666 開始減去左側的表中的比他小的最大數,也就是拆分,666 可以拆分成 512+128+16+8+2,左側對應的數字標上去,然後倒著寫即可。

2 的 N 次方背熟後這個是可以心算的,不用列左側的表,直接遞減即可。

然鵝,在我們的實際編程中,很少需要你自己去算一個非十進位,用計算器一類的快速搞定就行了。

因此上述所有內容只是我在水字數,要不然這節課真的太簡單了。

在 py 中把一個數字轉為二進位,只需要使用 bin 方法。

二、八進位(Octal)

八進位一般很少用,它由 0-7 這 8 個數組成,要把一個十進位數轉成 8 進位,短除法除數為 8 即可。

直接來吧,oct(666),看看效果。

可以看到八進位數是用數字 0 和 字母 o 開頭的。

這裡得注意一下字母 o 的大小寫問題,我們做個試驗。

你能發現,無論大寫還是小寫,都能符合我們的預期效果。

但實際上因為編程中的一些習慣,就是那種沒有哪本書哪個條例明確規定了的,但大家都在遵守的行規,大寫字母,通常是用來標識「常量」的。

當然這是我們後期才會學到的知識,現在你記住我們平時開發的時候都用小寫即可。

比如我用 oct 方法轉換一個數的時候,如果把方法名大寫:

這個報錯我們昨天見過,OCT 未被定義,不曉得這玩意兒有啥子功能。

這就是個潛規則,按理說大寫的 OCT 它應該是個常量的名字,而不是作為方法的名字。

三、十進位(Decimal)

十進位裡,主要學習怎麼把一個非十進位的數轉成十進位。

其實是短除法的一個逆運算。

比如把二進位數 0b11101001 轉為十進位。

將一個整數轉為十進位的方法得注意下,並不是所謂的 dec,而是 int,昨天剛學過這個。

四、十六進位(Hex)

十六進位由0-9,a-f組成。a 代表 10,b 代表 11,f 代表 15,超過 15 就該進位了。

可以用 hex 方法求 16 進位,比如 16 的十六進位。

超過了 f,進了一位,所以是 0x10。

五、手寫與印刷

就和我們的英文字母的 a 有個印刷體一樣,一般情況下我們手寫時很少會寫成這樣的形式:

0b1001

0o666

0x999

尤其是八進位那個,你真不怕對方 0 和 o 不分,6 和 b 不分,0x999=0 嗎?

手寫的時候我們一般會這樣寫,看起來比較簡單明了。

另外諸如二進位轉換為八進位的三位一併法,轉十六進位的四位一併法等方法,手算並不要求掌握,這年代都有計算器了,學那玩意兒幹啥。

六、總結

七、作業

這是一篇存稿,我也有存稿的看到了嘛!!!

我寫好稿子的時候還8知道昨天那篇誰第一個做完作業的。

所以直接布置今天的作業,研究以下內容:

1.一個十進位的小數,怎麼轉為二進位?

2.一個十進位的負整數,怎麼轉為二進位?

這個作業和後續課程無關,百度能搜到的,只是擴展下大家的知識層面。

第一個告訴我他學會了的紅包獎勵,一個問題 1 元錢,不驗證真偽性,嚶嚶嚶。

相關焦點

  • 數據的表示二進位八進位十進位十六進位之間的轉換
    數據的表示1.R進位轉十進位R進位轉十進位使用按權展開法二進位 10100.01 = 1x24+1x22+1x2-2七進位 604.01 = 6x72+4x70+1x7-2十進位 1227 = 1x103+2x102+2x101+7x1002.十進位轉
  • 單片機進位轉換
    同樣是120,轉換成16進位則為:   被除數 計算過程 商 餘數   120 120/16 7 8   77/16 0 7   120轉換為16進位,結果為:78。10,而F表示15)   現在可以看出,所有進位換算成10進位,關鍵在於各自的權值不同。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—> oct(八進位)dec(十進位)—> hex(十六進位)二、十進位我們所熟知的十進位,其實是從 0 開始,數到 9 之後,就跳到
  • scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)
    +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;
  • 二進位轉換為十進位和十進位轉換為二進位的方法
    28轉換為2進位先用2的n次方來表示28這個數,然後用2的n次方乘以1或者乘以0,相加來湊成與之相等的數,得到的1或者是0,根據這個表格,從左往右把二進位數字湊在一起,11100就是28的二進位了。那我們把11100轉換為10進位:11100轉十進位
  • MATLAB數據進位轉換
    MATLAB中,數據的運算、讀取和存儲過程有時會涉及到進位的轉換。不了解進位轉換方法的話會非常惱火。1、單個數據轉換比如我們想知道一個十進位數的二進位表示,來看具體的位置1還是0.這時可以用dec2bin函數。
  • 如何進行進位轉換
    進位轉換   進位轉換是人們利用符號來計數的方法。進位轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。   基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。   位權是指,進位制中每一固定位置對應的單位值。
  • 零基礎學編程之進位轉換基礎
    計算機使用二進位,是因為計算機設計者發現在複雜電路中,將低電平表示0,高電平表示1,只有兩種電位在通過門電路之後更容易計算。其實用其它進位也可以表示,但是比較麻煩。二進位的基數為2,權為2^n(2的n次方),……、128、64、32、16、8、4、2 1。
  • Python 進位轉換
    提到進位轉換這裡需要了解int()這個內置函數,大多數人都會這樣用:int(x)其目的一般是將x字符串轉化為整數,int()除了這個作用外,還可以將其他進位數轉化為十進位數,Python內置函數官方文檔從官方文檔中我們可以得知內置函數: int(x,base
  • 關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結
    得到的結果相加就是答案二、八進位與十進位的轉換 (1)十進位轉換為八進位 十進位轉換成八進位有兩種方法: 1)間接法:先將十進位轉換成二進位,然後將二進位又轉換成八進位 2)直接法:前面我們講過,八進位是由二進位衍生而來的,因此我們可以採用與十進位轉換為二進位相類似的方法,還是整數部分的轉換和小數部分的轉換,下面來具體講解一下: ①整數部分 方法:除8取餘法,即每次將整數部分除以
  • 十進位和二進位之間的轉換
    既然一個數可以用二進位和十進位兩種不同形式來表示,那麼兩著之間就必然有一定的轉換關係。  例題 1.3.3 將(25)D轉換為二進位數。  解:該題的解題思想是,不斷地用2分解十進位整數,並將餘數按得到的順序由低位到高位排列,即可得到對應的二進位數。
  • 進位制與位值原理,不同進位怎麼轉換
    那這個十位的1代表的10,也就是說我們平常用的最多的十進位,滿10進1,借1當10,在十進位中,所有的數字為0、1、2、3、4、5、6、7、8、9。這裡有必要強調一下,數與數字是兩個概念,以十進位為例,數有無限個,數字卻只有0-9這十個數字。其他進位也類似,假如是n進位,那麼它組的數字是從0——n-1。
  • javascript進位的轉換
    大家都知道計算機在電腦上存儲的數據是01二進位數存儲的,但是二進位的這種數據對於我們人來說讀取是非常費勁的。這時候就需要我們用到二、八、十、十六進位之間的轉換了十進位和二進位之間的轉換十轉二:用到的方法是除二取餘,倒序排列例如將52轉為二進位結果為110100
  • 2019福建教師招聘考試:信息技術 進位轉換
    一、進位(一)基本概念數制即表示數值的方法,它是指用一組固定的數字和一套統一的規則來表示數目的方法。在計算機數制中,需要掌握數碼、基數和位權的概念。數碼:數制中表示基本數值大小的不同數字符號。在一種數制中,只能使用一組固定的符號來表示數的大小。例如,十進位有10個數碼,分別為0,1,2,3,4,5,6,7,8,9十個數。
  • 二進位、十進位、八進位、十六進位間的相互轉換函數
    二進位、十進位、八進位、十六進位間的相互轉換函數1、輸入任意一個十進位的整數,將其分別轉換為二進位、八進位、十六進位。{int num;char a[39];//定義一個字符數組,用於存儲字符串cout<<"Entre num:"<<endl;cin>>num;cout<<"二進位
  • 8421bcd碼轉換二進位
    8421BCD碼 算機內毫無例外地都使用二進位數進行運算,但通常採用8進位和十六進位的形式讀寫。對於計算機技術專業人員,要理解這些數的含義是沒問題,但對非專業人員卻不那麼容易的。由於日常生活中,人們最熟悉的數制是十進位,因此專門規定了一種二進位的十進位碼,稱為BCD碼,它是一種以二進位表示的十進位數碼。
  • 各種進位相互轉換
    各種進位相互轉換1、其它進位轉換為十進位 方法是:將其它進位按權位展開,然後各項相加,就得到相應的十進位數。例1: N=(10110.101)B=(?)
  • java 中的進位轉換
    看到c代碼中的進位轉換,突然發現java中的進位轉換都是已經封裝好了。 Integer num =10; String binary = Integer.toBinaryString(num);//10進位轉2進位 String octal = Integer.toOctalString(num);//10進位轉8進位 String hex = Integer.toHexString(num);//10進位轉16進位System.out.println
  • 教師招聘考試信息技術學科—進位轉換知識點匯總
    為了幫助考生梳理知識點,中公教師特意為大家準備了信息技術教師招聘考試中進位轉換領域部分的常考點,希望這部分知識點匯總能為學員備考提供參考。一、進位(一)基本概念數制即表示數值的方法,它是指用一組固定的數字和一套統一的規則來表示數目的方法。在計算機數制中,需要掌握數碼、基數和位權的概念。
  • 16進位轉換算成10進位程序
    16進位轉換算成10進位程序本文引用地址:http://www.eepw.com.cn/article/172812.htmunsigned char d[10]; //用於顯示的10位顯示緩存//========