原创 如何更加有效的操控內存

前兩天去一家公司面試,在面試的過程中二面的面試官說,如果來我們這裏工作,那麼還得好好看看《計算機體系結構》,因爲我們這邊對於算法的優化是需要考慮到CPU Cache這個層級的。之前在公司內部的分享會上,有同事分享過內存相關的知識,同時自己

原创 邏輯迴歸中閾值爲什麼選在0.5的位置

  不知道小夥伴們有沒有過這樣的疑問,就是爲什麼邏輯迴歸中的分類閾值爲什麼選在0.5的位置,我做了一個數學上的推倒,希望對大家有幫助

原创 S_Dbw validation公式解析

        S_Dbw validation在衆多論文中被認爲是最好的對無監督學習(聚類)的驗證,這個驗證方法中包括一些比較晦澀的數學公式,現在以下做一下介紹:        1.stdev (average standard dev

原创 鬥地主出現王炸的概率有多少?

之前在知乎上看到這道題,之前嘗試着用概率論的知識解答一下。 Z = {小明抓到王炸}; A1 = {扣牌底下3張牌沒有王, 且有一手牌中有2張王}; A2 = {扣牌底下3張牌有1張王,且有一手牌中有1張王}; A3 = {扣牌底下3張牌

原创 CPU Cache翻譯

        CPU高速緩存[1]是由計算機的中央處理單元( CPU )用來降低從主存儲器訪問數據的平均成本(時間或能量)的硬件高速緩存。高速緩存是一種更小、更快的存儲器,更靠近處理器核心,存儲來自常用主存儲器位置的數據拷貝。大多數CP

原创 shell、操作系統和內核

      之前在知乎上回答過這個問題“shell、操作系統和內核是一回事嗎?”,現在也在blog上總結一下        內核需要做的工作:進程管理(創建進程、進程調度等)、進程間通信(管道、信號等)、文件操作(在硬盤上以我們熟悉的文件

原创 浮點數總結

    浮點數在內存中的存儲          根據IEEE standard 754,float用4個字節存儲,double用8個字節存儲。float 1個bit用來存儲浮點數的符號,8個bit用來存儲浮點數的指數,23個bit用來存儲

原创 關於生成隨機浮點數的面試題

          一道隨機數的面試題: int rantInt(); //隨機生成0或者1                                                        int rantFloat();

原创 字符集的編碼和解碼(ASCII、Unicode、UTF-8和GBK)

ASCII 和 Unicode          字符,就是電腦屏幕上能夠顯示的一個符號,它可以是阿拉伯數字、英文文字、漢語文字、日語文字等等只要收錄了的各種各樣用於顯示的符號。但是,對於計算機而言它們是不認識這種符號的,計算機就能夠計算

原创 深入理解Move Constructor和Move Assignment

    之前的一篇博客講了左值引用和右值引用,並且細緻地說到了右值實際上就是“一閃而過”的結果,它是程序在計算時候的一箇中間量,這個中間量如果我們能夠有效的利用上,那麼我們再創建對象(Constructor)的時候或是給已有對象(Assi

原创 深入理解std::move和std::forward

    前面寫了關於左值引用和右值引用,講了Move Constructor和Move Assignment,這一節講最後一部分std::move和std::forward,那麼這一個小系列就算說完了。     std::move    

原创 C++左值引用和右值引用解析

      C++11引入了Rvalue Reference(右值引用)的概念,Rvalue Reference是一個綁定到Rvalue(右值)的Reference。那麼哪些情況下產生Lvalue,哪些情況下產生Rvalue那?對於函數返

原创 strok、strtok_r和strtok_s

       strtok        在處理文本的時候,我們最常用到的是讀入字符串,然後對字符串進行處理。在分析、處理字符串的過程中就經常會用到根據特定分隔符對字符串進行分割。在C++語言中提供了strtok函數可以供我們完成字符串切