[20230919]黃金分隔法0.618.txt
[20230919]黃金分隔法0.618.txt
--//許多人都知道黃金分隔點=0.618,如何計算得來估計許多人不知道,我大約記得讀初中時提到五邊形有關,至於如何算我自己也也忘記了.
--//實際上計算公式如下:
(sqrt(5)-1)/2
$ echo (sqrt(5)-1)/2| bc -l
.61803398874989484820
--//嘗試使用dc看看.
$ dc -e "20k 5 v 1 - 2 / p"
.61803398874989484820
--//實際上許多加密或者hash演算法會使用這個數字有關.
$ echo (sqrt(5)-1)/2*2^32 | bc -l
2654435769.49723029645788446720
--//取整2654435769 轉換16進位制:
--//2654435769 = 0x9e3779b9
$ echo "obase=16;2654435769" | bc
9E3779B9
$ dc -e "16 o 2654435769 pq"
9E3779B9
--//如果你上網查詢 9e3779b9 就可以找到許多類似介紹加密或者hash演算法的函式與這值有關.
--//已經離開學校太久太久,感覺許多基本的知識已經完全的還給老師..........也許用 用盡廢退 來比喻比較恰當.
--//也許大家會問,為什麼探究這個,前幾天看了連結: http://mvelikikh.blogspot.com/2023/04/computing-orahash.html
--//作者使用python語言,寫了一個oracle ora_hash函式的對應例子:
--//原始碼可以從如下地址獲得:
def ora_hash(data, max_bucket=0xffffffff, seed=0):
if not data:
return
def uint32(n):
return n & 0xffffffff
def int_from_bytes(data):
return int.from_bytes(data, 'little')
def mix(data, final=False):
nonlocal a, b, c, seed
s7 = int_from_bytes(data[12:16])
if final:
s7 = uint32(s7 << 8)
s0 = uint32(a + int_from_bytes(data[0:4]) + s7 + seed)
if final:
s0 = uint32(s0 + len_)
s1 = s0 ^ s0>>7
s2 = uint32(b + int_from_bytes(data[4:8]) + s1)
s3 = uint32(s2 ^ s2<<0xd)
s4 = uint32(c + int_from_bytes(data[8:12]) + s3)
s5 = s4 ^ s4>>0x11
s0 = uint32(s0 + s5 + s7 + seed)
if final:
s0 = uint32(s0 + len_)
s6 = uint32(s0 ^ s0<<9)
s1 = uint32(s1 + s2 + s6)
s2 = s1 ^ s1>>3
s3 = uint32(s2 + s3 + s4)
a = uint32(s2 + s3)
s3 = uint32(s3 ^ s3<<7)
s0 = uint32(s0 + s3 + s5)
b = uint32(s0 + s3)
s0 = uint32(s0 ^ s0>>0xf)
s1 = uint32(s0 + s1 + s6)
c = uint32(s0 + s1)
seed = uint32(s1 ^ s1<<0xb)
a = b = c = 0x9e3779b9
len_ = len(data)
while len(data) >= 16:
mix(data)
data = data[16:]
mix(data, final=True)
return seed % (max_bucket + 1)
--//我在自己的機器上測試失敗,也許是python版本太低或者是自己不熟悉python的緣故,無法執行.如果仔細檢視裡面存在如下賦值語句:
--// a = b = c = 0x9e3779b9.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2985172/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 世界黃金協會:2022年全球黃金展望
- 黑鐵、青銅、白銀、黃金、鉑金、鑽石等級劃分
- 黃金礦工
- 黃金分割鏈~PhiC
- 41分鐘夠做什麼?美國西南航空的黃金41分鐘
- 中國黃金協會:2020年上半年我國黃金產量170.07噸 黃金消費量323.29噸
- 什麼是黃金映象?
- 《黃金時代》總結
- Incrementum:2022年黃金報告REM
- Java-黃金礦工(二)Java
- 十一黃金週放假通知--HappyAPP
- 世界黃金協會:2023年一季度全球黃金需求趨勢報告
- 世界黃金協會:2024年一季度全球黃金需求趨勢報告
- 世界黃金協會:2月全球黃金ETF繼續錄得淨流入35.3噸
- 世界黃金協會: 2020年第一季度黃金需求趨勢
- 世界黃金協會:2021年2月全球黃金ETF流出84.7噸 小幅下滑2%
- 金礦為什麼用水銀提煉黃金,金礦用水銀提煉黃金,金礦水銀,水銀回收,淘金水銀價格
- 王汕11.3外匯黃金晚間價格漲跌分析、貴金屬黃金獨家短線解套
- 皇御貴金屬:黃金投資作用都有哪些
- 世界黃金協會:全球已開採的黃金存量折算後超過20萬億美元
- 世界黃金協會:截止到2020年1月全球共儲備黃金34735.73噸
- 世界黃金協會:2019全年及第四季度黃金需求趨勢
- 世界黃金協會:2021年第二季度全球黃金需求趨勢
- Goldie for Mac(黃金比例設計工具)GoMac
- 黃金比例設計工具:Goldie for MacGoMac
- 買黃金,還是買比特幣?比特幣
- Apache Hudi:CDC的黃金搭檔Apache
- 資料是黃金還是垃圾?
- 從零單排學Redis【黃金】Redis
- 監控SRE的黃金訊號
- 中國黃金協會:2021年黃金行業執行情況行業
- 世界黃金協會:黃金作為儲備資產的央行指南2019版(附下載)
- 金礦用水銀提煉黃金,金礦水銀-五久化工公司
- 《艾爾登法環》黃金之怒禱告如何獲取?黃金之怒獲取方法分享
- 低價“黃油”氾濫成災,steam黃金品類有套路
- 早晚餐的“黃金時間”出爐!
- 『0.6180339887498黃金分割的連環陣列』陣列
- 【眼界】NLP 迎來了黃金時代