網路位元組序是大端序,而記憶體位元組序是小端序(就像彙編學的內容一致)
大端序:高位位元組存放到地位位址
小端序:高位位元組存放在高位位址
因此在位址傳輸時需要將位址進行轉化
//short
unsigned short htons(unsigned short);//h to n,主機轉化成網路資料 s short型
unsigned short ntohs(unsigned short);//n to h,網路轉化成主機資料 s short型
//long類似上面l則是long型
unsigned long htonl(unsigned long);
unsigned long ntohl(unsigned long);
#include"iostream"
//4個函式都需要這個標頭檔案和lib庫
#include "winsock2.h"
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main(int argc,char* argv);
// 不能將引數 1 從「unsigned long」轉換為「in_addr」
//addr是in_addr_t型而函式引數是in_addr型,故錯誤
in_addr my_in_addr;
my_in_addr.s_addr=addr;
ip=inet_ntoa(my_in_addr);
cout<
return 0;
}
位元組序和網路位元組序
1 位元組序 由於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 big e...
位元組序和網路位元組序
1位元組序 由於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 big en...
TCP IP網路程式設計之位元組序和網路位元組序
一 概要 二 簡介 在此之前我們需要了解清楚幾個概念。cpu架構 人們常說的x86 x64是一種架構,但是他有32位的和64位的。32位的叫x86 後來出現基於它的64位版,就叫x64。作業系統位數 64位的系統是基於64位處理器而來的,所以64位的系統能在64位的處理器上執行,但是不能在32的處理...