當前位置:編程學習大全網 - 網站源碼 - 乘除法and位移操作 2020-02-07(未經允許,禁止轉載)

乘除法and位移操作 2020-02-07(未經允許,禁止轉載)

乘除法是我們再熟悉不過的算數計算操作。在我們的認知中, 乘法的本質是加法,除法的本質是減法 。在計算機中,乘除法的底層實現也正是通過加減操作完成的

位移操作,就是對壹個n進制的數按位進行左移或者右移。 左移壹位,擴大n倍,等於乘以n;右移壹位,縮小n倍,等於除以n(指取整的除法)

例如:

十進制數1234,左移壹位,得12340,也就是乘以10;右移壹位,得123,也就是除以10取整

可以看到,位移只需要進行非常簡單的左右移動操作,就實現了n倍增/n倍減的效果,比基於反復加減的乘除法更加高效

在計算機中,都以二進制方式存儲數字。因此,在計算機中對數字進行位移操作,是在進行乘以2/除以2的操作

以二進制數111(十進制7)為例,左移壹位,得到1110(十進制14);右移壹位,得到11(十進制3)

例1

leetcode 50

實現pow(x, n)函數,計算x的n次冪

(也就是通過分解指數n為2的i次方的和形式實現 快速冪

例2

leetcode 29 計算兩數的商(取整)

  • 上一篇:Access篩選記錄的方法有哪三種
  • 下一篇:請問linux下的ubuntu下怎麽安裝聲卡驅動,打開網頁聽歌沒有聲音。
  • copyright 2024編程學習大全網