一 Java常用小知識之將long型轉換成位元組表示

2021-08-19 19:05:19 字數 2119 閱讀 6336

/**

* 將 long 型別資料轉成二進位制的字串

*/private

static string tofullbinarystring(long num)

return

new string(chs);

}

簽到歷史:

「簽到歷史」要實現的效果:

* 簽到歷史為整數。將整數轉化為2進製數,1表示簽到,0表示未簽到

* 例如:

* 簽到歷史為3(11)時,則表示使用者從第一次簽到導現在為止連續簽到兩天。

* 簽到歷史為5(101)時,則表示第二天未簽到

* 簽到歷史為25(11001)時,則表示第二天和第三天未簽到

public

class

signinhistorytool

//(比如:0000 0011 2天)

/* * 若「moveamonut = 1」:屬於正常的隔天簽到

* 若「moveamonut = 2」:屬於隔1天簽到

*/long moveresult = oldhistory << moveamount;

/** 將本次簽到放到最後一位

*/moveresult +=1;

/** 將 long 型別資料轉成二進位制的字串

* 引數一:將 long 型別資料轉成二進位制的字串

* 引數二:該字串的進製(是2進製,還是8進製之類)

*/return integer.parseint(tofullbinarystring(moveresult), 2);

}/**

* 將 long 型別資料轉成二進位制的字串

*/private

static string tofullbinarystring(long num)

translate(chs);

return

new string(chs);

}/**

* 將得到的二進位制陣列倒置

* 例:

* 第1天、第2天簽到:0000 0011

* 第3/4天未簽到,第五天簽到,則先左移2位,再末位加1:0001 1001

* 將得到的二進位制陣列倒置:00010011(即變成第1、2天簽到,第3、4天未簽到)

*@param chs 二進位制陣列

*/private

static

void

translate(char chs)

}if (reverseindex != 0)

}private

static

void

swap(char chs, int startindex, int endindex)

if (startindex < 0)

if (startindex >= endindex)

int middleindex = (endindex - startindex) / 2;

if ((endindex - startindex) % 2 == 1)

for (int i = 0; i < middleindex; i++)

}/**

* 計算距離上一次簽到,相隔天數

*@return

*@throws parseexception

*/public

static

intcountsigndays(date nowdate,date lastmodifydate) throws parseexception

return days;

}/**

* 若當前簽到時間過了前一天的24點,也算隔1天

*@param nowdate 當前簽到時間

*@param lastmodifydate 上次簽到時間

*@return 若當前簽到時間過了前一天(也就是上次簽到)的24點,也算隔1天,可以簽到;否則不可以簽到

*/private

static

intcompare(date nowdate, date lastmodifydate)

}

機器學習中常用的python小知識(一)

在機器學習中python現在已經成為主流語言,但是想要快速去實現演算法還需要磨磨刀。python工具磨刀石。主要用的庫有numpy pandas matplotlib以及我推薦的乙個畫統計圖的庫seaborn。下面我以我用到的順序,具體說明一下這些小工具的用法。讀取檔案 file open data...

一些windows中常用的小知識

c windows system32 config sam存放使用者密碼 sam檔案啟動項目錄 ssh scp 22 tcpwin r services.msc 開啟服務 win r regedit 開啟登錄檔 win r msconfig 開啟系統配置 f2 選中檔案重新命名 f3 查詢 alt ...

java中常用到的一些小知識

轉化時間格式 string轉date string str 2007 1 18 11 12 13 dateformat dateformat new dateformat yyyy mm dd hh mm ss try catch parseexception e date格式自定義date ada...