凡事預則立,不預則廢

2022-05-21 04:45:29 字數 1855 閱讀 9227

預:預先,指事先作好計畫或準備;立:成就;廢:敗壞。

不論做什麼事,事先有準備,就能得到成功,不然就會失敗。

為什麼要用這句話作為文章的標題呢?說來很奇怪,我自己也沒有想清楚,反正最近自己過的渾渾噩噩的,感覺自己沒有一點長進,所以,突然之間,就想到了這句話,算是對自己的乙個鞭策,好好的去踐行這句話。

今天算來是來到北京近乙個月的時間了,感覺自己還是和以前的狀態乙個樣,沒有大多的改變。反正現在就是認為自己的時間浪費不起,倒是真正沒有好好的去珍惜,人就是這樣,有句話怎麼說的:書非借不讀。有些東西是自己的了,就不會好好的去珍惜,但是如果眼睜睜的看著失去的時候,卻後悔莫及。好啦,廢話不多說,以後有機會再扯這些技術之外的問題,今天就好好的總結一下最近學的一些東西吧。

印象最深的是浮點數在記憶體中的存放(這個記憶很深):

今天是3月10號,就拿3.10來說吧。3.10在計算機的記憶體中是什麼樣子的呢?就是那個二進位制0101什麼的。我們知道,float資料型別是佔4位元組的(其他編譯器可能不一樣,姑且先不去談論這個問題),也就是4*8=32位,二進位制**就是:

01000000

01000110 01100110 01100110(0x404666)

哈哈,看到是不是暈了,聽我慢慢解釋:

第1位:表示浮點數的正負,1為負數,0為正數,我們輸入的是3.10,所以就是0

第2~9位:轉換為十進位制,再減去127就是指數的大小,至於為什麼要減去127,因為這是老鱉的屁股(ieee的龜腚)。首先,我們要知道,浮點數在由2部分組成,底數(大於0小於1)和指數。也就是0.310*e^1,然後128-127=1

第10~32位:底數部分。只有23位,其實這裡省略了整數部分1,完整的為1.1000110 0110011001100110,這裡指數e=1,也就變成了11.0001100110011001100110,換算為10進製,整數部分我一眼就看出來是3,但是小數部分怎麼算呢?(基礎不好為嘛還要搞這麼底層,自找苦吃)

小數部分的換算:1*(2^-4)+1*(2^-5)+1*(2^-8)+1*(2^-9)……,為啥是這樣子呢?0.0625+0.03125+… …+……=0.1(大約)

到這裡,我相信你會想到一句話,浮點型資料在運算中會有精度的損失,正是因為它在記憶體中這樣獨特的儲存方式,所以才會導致這個問題。

上邊說的是怎麼把乙個二進位制轉換為乙個十進位制,那我現在比如給個-17.625,二進位制怎麼手動計算出來呢?

首先,這是個負數,第1位是1

其次,寫成指數形式是0.17625*e^2,指數是2,2+127=129,二進位制位1000 0001

最後,底數部分。17.625的二進位制為:

整數部分:10001

小數部分:0.625*2=1.250餘1

0.250*2=0.5    餘0

0.5*2=1           餘0

合併起來為:10001.100

不行,思路不清晰,第一次寫,明天整理下,sorry

凡事預則立,不預則廢

今天發布乙個老專案,由於心理認為很簡單,測試環境跑的完全ok,但是在生產部署時傳送了意外導致部署失敗。1.專案部署的配置檔案及部署檔案沒有預先準備好,倉促間漏此失彼。2.部署指令碼沒有提前看,導致多次部署失敗。3.部署包可能和生產上的包命名不一致。4.多個視窗之間切換,加上外部不停的報各種問題的干擾...

凡事預則立,不預則廢

凡事預則立,不預則廢 2606583?fr aladdin 凡事豫 預 則立,不豫 預 則廢,豫者預也,任何事情,事前有準備就可以成功,沒有準備就要失敗。說話先有準備,就不會詞窮理屈站不住腳 行事前計畫先有定奪,就不會發生錯誤後悔的事。哲學上反映的是原因和結果的關係 此句出自於 禮記 中庸 凡事豫則...

凡事預則立不預則廢 20180112

在這個辭舊迎新的時刻,總結17年,計畫18年。17年我稱之為職業生涯中的第一階段,探索期。截止到17年,我感覺自己就是乙個完全沒有思想的奴隸,整天忙忙碌碌的,但是到下班的時候回想自己一天做了什麼事情的時候,大腦裡面要麼是一片空白,要麼是一團亂麻。那個時候還整天樂呵樂呵的。到了17年中旬的時候,突然間...