資料處理之資料格式(二)

2021-08-20 14:27:39 字數 1139 閱讀 7056

一、c++以3種不同的計數來書寫整數:基數為10、基數為16、基數為8。

8進製以0開頭,16進製制以0x或0x開頭。

#include

int main()

{using namespace std;

int a=42;

int b=0x42;

int c=042;

cout<<「a="b=66    //0x42 in hex           66=4x16^1+2x16^0

c=34    //042 in octal0         42=4x8^1+2x8^0

可以都過控制符dec、hex、oct將資料以10進製、16進製制或者8進製進行顯示。

二、關於十六進製制

16進製制使用a~f來表示10~16的值

c++使用0x或0x來指示十六進製制表示法。因此0x2b3是乙個十六進製制值,可使用16的冥來得到對應的十進位制值。

如二進位制值10010101=0x95

十六進製制常用來表示記憶體位址,而記憶體位址是沒有符號的,所以16位的位址是unsigned 的。

程式預設將資料儲存為int型。

在int為16位、long為32位的系統上:

2022被儲存為int,佔16位

2022l被儲存為long,佔32位

2022lu或2022ul被儲存為unsigned long 

三、big endian 和little endian,即高位元組和低位元組

指記憶體中單詞(通常為2個位元組)的位元組順序。在intel計算機(little endian)中,先儲存低位位元組,這表示十六進製制值0xabcd在記憶體中將被儲存為0xcd 0xab。motorola(big endian)計算機按相反的順序儲存,因此0xabcd在記憶體中將被儲存為0xab 0xcd。

二位元組記憶體模式0xabcd在little endian計算機上表示十進位制值52651,而在big endian計算機上表示十進位制43981。

都使用整數的二進位制表示的兩個計算機平台對同乙個值得表示可能不相同,作為軟體工程師,應了解目標平台的詞序,它會影響對通過網路傳輸的資料的解釋方式以及資料在二進位制檔案中的儲存方式。

tree資料格式封裝處理

1,先建立關於tree的屬性bean public class treenode public void setid string id public string geturl public void seturl string url public string getparentid publ...

Pandas日期格式資料處理

import numpy as np import pandas as pd df pd.read excel 成績表 統計 xls sheet name 寫入 舊 df.head print df.info 轉換成日期格式 df 考試日期 pd.to datetime df 日期 format y...

資料互動之資料處理

資料互動必須通過協議來實現,所以互動雙方必須遵循一定的讀寫規則 我的方法很簡單但可以用,如果大家有好的方法,不妨交流一下 實現方法 資料流類datastream有兩個char 型指標,分別用來儲存讀寫的資料,還有w pos,r pos兩個資料用來記錄讀寫的位置,而且要用到互斥鎖,確保指標的安全性 v...