最近在使用vc++做專案時遇到乙個問題,在使用udp通訊時資料量太大導致無法傳送,查閱資料後找到了乙個使用union來壓縮資料的辦法。原理就是利用union內部定義的變數位址指向同一塊記憶體,改變其中乙個另乙個也跟著改變。以下是**
#include
using
namespace std;
typedef
union data_senddata;};
intmain()
程式執行結果如下:
可以看到使用我們壓縮過的資料成功還原了原始資料,我們只用了1個int資料傳送了8個int型資料,極大程度上節省了空間。
如何利用資料庫建立Union 約束
為了少在client做db的邏輯判斷,可以盡量用db的union 約束來限制資料的重複輸入,那麼怎麼建立group users表中groupid,userid的union 約束呢?如下 drop table user group cascade constraints create table us...
利用union判斷系統的大小端
大端模式 所謂的大端模式,是指資料的高位,儲存在記憶體的低位址中,而資料的低位,儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從高位往低位放 小端模式 所謂的小端模式,是指資料的高位儲存在記憶體的高位址中,而數 據的低位儲存在記憶體的低位址中,這種...
利用union判斷系統的大小端
int checkcpuendian 返回1,為小端 反之,為大端 c c.a 1 return 1 c.b 大端模式 big endian 是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從...