最近做專案,遇到字串格%02x式化輸出出現ffffff現象,偶爾出現,大部分時間是好的,網上查閱資料,發現解決辦法:
c89標準規定,short和char會被自動提公升為int(整形化,類似地,float也會自動提公升為double),這樣做是為了便於編譯器進行優化,使變數的長度盡可能一樣,盡可能提公升所產生**的效率。data[i]的值當它是正數的時候也同樣進行了符號擴充套件的,只不過正數是前面加0,用%02x列印的時候那些0被忽略;而補碼表示的負數的符號擴充套件卻是前面加1,用%02x列印的時候那些1不能被忽略,因此才按照本來的長度輸出來。如沒有新增unsigned,則當data[i]>0x7f時(如0x80),格式轉換為ffffff80!
故計算8位異或校驗函式調整如下:
unsigned char calc_crc(const char *buff, int buff_sz)
Python3 格式化輸出字串
當我們要一行輸出多個字串的時候,可以將字串加起來輸出 name geek print hello name hello geek 或者 print hello name,hello geek 但是這樣我們就不能精準的控制輸出,不過 python 也提供了類似 c 語言中的格式化輸出 print he...
Python(19) 格式化字串
因為種種原因 懶 所以想用python生成html檔案。做jsp的話,jsp頁面上那些資料是用http.request.getattribute x 等方法拿出來的,什麼el表示式也是為了 的簡單省事。如果用python寫html呢?硬編碼吧。把要替換的地方用個什麼包起來,再用string的form...
python3格式化字串
數字處理 預設序列填充 format str1 str2 str1.str2 自定義序列填充 format str1 str2 str1.str2 format str1 str2 str2.str1 自定義變數填充 format str1 str1 str2 str2 str1.str2 form...