快速的 log2的演算法。

2021-06-19 02:14:35 字數 799 閱讀 7147

用coco2d 的時候,看到讀取ccbi檔案。順便研究了下。這個是mac 下 cocosbuilder 編輯完成以後發布的 2進製檔案,windows 下沒有工具開啟。就稍微研究了一下格式,這東西裡面坑真不少。以後研究透徹了在寫部落格記錄下。

目前發現乙個坑就是這裡面的  int 和uint 值是用的 elias gamma coding

具體可以看看  這裡。還有  特意研究的是ccbi中的 elias gamma coding 演算法。這篇文章裡,作者用到了計算log2,他是用c的庫函式的。想起很久一起那看到過的 快速的log2 的演算法。查了一下資料,查了一下,就是把乙個整數轉換成浮點數,以float 為例,就是乙個符號位,標記正負,8個指數為,還有剩下23個位數字。雙精度的浮點數 double 也是如此,只是位數不同。具體可以看一下ieee的浮點數標準。所以 整個log2的思路,就是把整數轉換成浮點數,然後把指數為取出來,然後在計算一下指數為裡有幾個值就可以了。 英文**  這裡 

貼一下** 

#include #include using namespace std;

namespace utility

};//-快速log2 的演算法

int fast_log2(int _val)

int main(int argc,char** argv)

{    int data = utility::to_int(argv[1]);

int log2_data = fast_log2(data);

cout <<"data: " << data <<" log2_data: "<< log2_data <

LOG2函式實現

log2 function,from lua source code log2 function c c code int luao log2 unsigned int x int l 1 while x 256 return l log 2 x log2 function python scrip...

Spring boot 快速整合log4j2

首先在前一篇的基礎上引入log4j的jar包,同時spring boot預設是用logback的日誌框架的,所以需要排除logback,不然會出現jar依賴衝突的報錯。org.springframework.boot spring boot starter web org.springframewo...

快速排序演算法2

package com.mianshi describe 快速排序演算法2 排序結果從小到大 create on 2011 05 25 author sylor.liu version 1.0 since jdk1.6 public class quicksort2 對資料進行快速排序 privat...