原文:詳解C語言的htons和htonl函數、大尾端、小尾端

在Linux和Windows網絡編程時需要用到htons和htonl函數,用來將主機字節順序轉換為網絡字節順序。 在Intel機器下,執行以下程序 intmain printf d n ,htons return 得到的結果是 ,初一看感覺很怪。 解釋如下,數字 的 進制表示為 x ,數字 的 進制表示為 x 。 由於Intel機器是小尾端,存儲數字 時實際順序為 ,存儲 時實際順序為 。因此在發 ...

2016-08-20 15:11 0 2168 推薦指數:

查看詳情

詳解C語言htons函數

昨天和同事討論了一下這個函數,在網絡上搜了一下,答案都是函數的基本概念,為什么是大端模式(big-endian),而沒有解釋為什么使用大端模式(big-endian)。首先說明一下概念 uint16_t htons(uint16_t hostshort);  htons的功能:將一個無符號短整型 ...

Tue Mar 26 21:59:00 CST 2013 0 6994
大端與端,大尾與尾,高尾端與低尾端,主機字節序與網絡字節序

概念剖析 一時記憶與理解大端、端的概念很容易,但時間一長,對於相似的概念人類的記憶向來是模糊的,甚至是換位的。所以除非你的記憶非常牢靠,否則借助大端和端這樣的名字,你很難將概念與內容聯系緊密。 也有文章提到用大尾與尾的概念,個人覺得這個概念還是沒有解決存儲概念中的基本問題,大與 ...

Sat Aug 20 23:46:00 CST 2016 0 1499
C++基礎--htons(),htonl(),ntohs(),ntohl()

將多字節整數類型的數據,從主機的字節順序轉化為網絡字節順序原型:#include <netinet/in.h> uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ...

Mon Jul 02 01:35:00 CST 2012 0 9780
ntohs, ntohl, htons,htonl的比較和詳解

ntohs =net to host short int 16位htons=host to net short int 16位ntohl =net to host long int 32位htonl=host to net long int 32位 網絡字節順序NBO(Network Byte ...

Tue Aug 09 02:23:00 CST 2016 0 4648
高低字節序轉換(htonl、ntohl、htons、ntohs函數

Part 1: htons函數具體解釋 在Linux和Windows網絡編程時需要用到htonshtonl函數,用來將主機字節順序轉換為網絡字節順序。 在Intel機器下,執行以下程序 int main()...{ printf("%d /n",htons(16 ...

Thu Jul 23 23:58:00 CST 2015 0 4346
htonl(),htons(),ntohl(),ntons()--大小端模式轉換函數

不同機器內部對變量的字節存儲順序不同,有的采用大端模式(big-endian),有的采用端模式(little-endian)。大端模式是指高字節數據存放在低地址處,低字節數據放在高地址處。端模式是指低字節數據存放在低地址處,高字節數據放在高地址處。在網絡上傳輸數據時,由於數據傳輸的兩端可能對 ...

Thu Apr 25 02:45:00 CST 2013 0 11073
setlocale()函數詳解——C語言

setlocale函數 函數原型:char* setlocale (int category, const char* locale); setlocale位於頭文件,setlocale() 函數既可以用來對當前程序進行地域設置(本地設置、區域設置),也可以用來獲取當前程序的地域設置信息,使用 ...

Sat Apr 13 03:35:00 CST 2019 1 9286
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM