我打得/紅寶石學習和做了一些如下述代碼片段,並得到:紅寶石``**方法
1 ** 5 # => 1
43 ** 67 # => 27694053307656599023809257877241042019569010395053468294153499816223586030238186389799480520831161107426185107
什麼是**操作員紅寶石?爲什麼我第二次查詢的結果數量太大?
我打得/紅寶石學習和做了一些如下述代碼片段,並得到:紅寶石``**方法
1 ** 5 # => 1
43 ** 67 # => 27694053307656599023809257877241042019569010395053468294153499816223586030238186389799480520831161107426185107
什麼是**操作員紅寶石?爲什麼我第二次查詢的結果數量太大?
**是指數操作符 - 它執行指數(功率)計算。讓我通過這個簡單的例子說明
2 ** 2 => 2 * 2 => 4
2 ** 3 => 2 * 2 * 2 => 8
2 ** 4 = > 2 * 2 * 2 * 2 => 16
2 ** 5 => 2 * 2 * 2 * 2 * 2 => 32
所以** 43 67 => 43 * 43 * 43 * 43 ................................................. ..............
所以它導致這樣一個大數。
獲取有關operatorts的更多詳細信息http://www.tutorialspoint.com/ruby/ruby_operators.htm
在Ruby中,**
是指數運算符。也就是說,通過做a**b
,你正在提高a
的權力b
。按照慣例,操作數之間沒有空格。
例子:
3**2
#=> 9
2**3
#=> 8
注意的是,指數運算符具有比乘法和除法的優先級高,就像數學:
2 * 2**3 # (2 * 8)
#=> 16
18/3**2 # (18/9)
#=> 2
如果鏈中的運營商,優先從解決向右:
2**2**3 == 2**(2**3) # (2^8)
#=> true
**
指數 - 執行對運營指數(功率)計算
1 ** 5 = 1
意味着它將執行像1*1*1*1*1
五次
如果你嘗試這種
2**4 = 16
意味着它將執行像2*2*2*2
四次
它只是這樣做:
2 * 4 => 8
和
2 ** 4 => 64
它當作第2功率(2)^ 4 => 2 * 2 * 2 * 2
您的問題是什麼? – sawa