97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

高青網(wǎng)站建設(shè)yx718西安高端品牌網(wǎng)站

鶴壁市浩天電氣有限公司 2026/01/22 06:53:38
高青網(wǎng)站建設(shè)yx718,西安高端品牌網(wǎng)站,跨境電商平臺的特點(diǎn),wordpress全站音頻C語言大小端格式詳解 #x1f525;作者簡介#xff1a; 一個(gè)平凡而樂于分享的小比特#xff0c;中南民族大學(xué)通信工程專業(yè)研究生#xff0c;研究方向無線聯(lián)邦學(xué)習(xí) #x1f3ac;擅長領(lǐng)域#xff1a;驅(qū)動開發(fā)#xff0c;嵌入式軟件開發(fā)#xff0c;BSP開發(fā) ??作者主頁作者簡介 一個(gè)平凡而樂于分享的小比特中南民族大學(xué)通信工程專業(yè)研究生研究方向無線聯(lián)邦學(xué)習(xí)擅長領(lǐng)域驅(qū)動開發(fā)嵌入式軟件開發(fā)BSP開發(fā)??作者主頁一個(gè)平凡而樂于分享的小比特的個(gè)人主頁?收錄專欄c語言重要知識點(diǎn)總結(jié)本專欄旨在總結(jié)C語言學(xué)習(xí)過程中的易錯(cuò)點(diǎn)通過調(diào)試代碼分析原理對重要知識點(diǎn)有更清晰的理解歡迎大家點(diǎn)贊 收藏 ? 加關(guān)注哦一、什么是大小端格式大小端指的是多字節(jié)數(shù)據(jù)在內(nèi)存中的存儲順序。1.小端格式 (Little Endian)低字節(jié)存放在低地址高字節(jié)存放在高地址像Intel x86/x64、ARM默認(rèn)使用小端#includestdio.hintmain(){intnum0x12345678;// 十六進(jìn)制數(shù)unsignedchar*p(unsignedchar*)#printf(值: 0x%x ,num);printf(內(nèi)存布局低地址-高地址: );for(inti0;isizeof(int);i){printf(地址 %p: 0x%x ,pi,*(pi));}return0;}在小端機(jī)器上輸出值: 0x12345678 內(nèi)存布局低地址-高地址: 地址 0x7ffe...: 0x78 // 最低字節(jié) 地址 0x7ffe...: 0x56 地址 0x7ffe...: 0x34 地址 0x7ffe...: 0x12 // 最高字節(jié)2.大端格式 (Big Endian)高字節(jié)存放在低地址低字節(jié)存放在高地址像PowerPC、網(wǎng)絡(luò)字節(jié)序使用大端// 假設(shè)在大端機(jī)器上運(yùn)行上述代碼輸出為值:0x12345678內(nèi)存布局低地址-高地址:地址0x7ffe...:0x12// 最高字節(jié)地址0x7ffe...:0x34地址0x7ffe...:0x56地址0x7ffe...:0x78// 最低字節(jié)二、如何檢測大小端方法1使用聯(lián)合體#includestdio.hunionEndianTest{inti;charc[sizeof(int)];};intisLittleEndian(){unionEndianTest test;test.i1;returntest.c[0]1;// 如果最低地址字節(jié)是1則是小端}intmain(){if(isLittleEndian()){printf(這是小端機(jī)器 );}else{printf(這是大端機(jī)器 );}return0;}方法2使用指針intisLittleEndian(){intnum1;return*(char*)num1;}三、字節(jié)序轉(zhuǎn)換函數(shù)網(wǎng)絡(luò)編程中經(jīng)常需要轉(zhuǎn)換#includearpa/inet.h// Linux// 或 #include winsock2.h // Windowsuint32_thtonl(uint32_thostlong);// 主機(jī)-網(wǎng)絡(luò)32位uint16_thtons(uint16_thostshort);// 主機(jī)-網(wǎng)絡(luò)16位uint32_tntohl(uint32_tnetlong);// 網(wǎng)絡(luò)-主機(jī)32位uint16_tntohs(uint16_tnetshort);// 網(wǎng)絡(luò)-主機(jī)16位// 示例uint32_thost_value0x12345678;uint32_tnetwork_valuehtonl(host_value);// 轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)序四、什么情況下使用哪種格式使用小端格式的情況x86/x64架構(gòu)的CPUIntel、AMDARM處理器默認(rèn)小端可切換Windows/Linux桌面系統(tǒng)多數(shù)嵌入式系統(tǒng)本地?cái)?shù)據(jù)存儲當(dāng)不需要跨平臺時(shí)優(yōu)點(diǎn)數(shù)學(xué)運(yùn)算方便從低字節(jié)開始處理類型轉(zhuǎn)換簡單使用大端格式的情況網(wǎng)絡(luò)協(xié)議TCP/IP規(guī)定使用大端PowerPC架構(gòu)某些舊版SPARC、MIPS系統(tǒng)Java虛擬機(jī)內(nèi)部大端圖像文件格式如BMP、JPEG某些硬件設(shè)備的寄存器優(yōu)點(diǎn)人類閱讀友好與書寫順序一致容易判斷數(shù)值正負(fù)符號位在最低地址五、實(shí)際應(yīng)用示例示例1網(wǎng)絡(luò)數(shù)據(jù)包解析#includestdio.h#includestdint.h// 模擬從網(wǎng)絡(luò)接收的數(shù)據(jù)大端格式voidparseNetworkPacket(constuint8_t*packet){// 前4字節(jié)是大端的IP地址uint32_tip(packet[0]24)|(packet[1]16)|(packet[2]8)|packet[3];// 使用ntohl轉(zhuǎn)換成本機(jī)字節(jié)序ipntohl(*(uint32_t*)packet);// 更標(biāo)準(zhǔn)的做法printf(IP地址: %u.%u.%u.%u ,(ip24)0xFF,(ip16)0xFF,(ip8)0xFF,ip0xFF);}示例2文件格式處理// 讀取BMP文件頭大端格式#pragmapack(push,1)typedefstruct{uint16_tsignature;// BM大端uint32_tfileSize;// 大端uint16_treserved1;uint16_treserved2;uint32_tdataOffset;// 大端}BMPHeader;#pragmapack(pop)voidreadBMP(constchar*filename){FILE*filefopen(filename,rb);BMPHeader header;fread(header,sizeof(header),1,file);// 轉(zhuǎn)換字節(jié)序header.signaturentohs(header.signature);header.fileSizentohl(header.fileSize);header.dataOffsetntohl(header.dataOffset);fclose(file);}六、編寫跨平臺代碼的建議使用標(biāo)準(zhǔn)轉(zhuǎn)換函數(shù)htonl/ntohl等避免直接內(nèi)存拷貝不同字節(jié)序的數(shù)據(jù)明確數(shù)據(jù)格式在文檔中說明測試時(shí)考慮字節(jié)序使用固定寬度整數(shù)類型uint8_t, uint32_t等// 安全的字節(jié)序無關(guān)的讀取uint32_treadUint32BigEndian(constuint8_t*buffer){return(buffer[0]24)|(buffer[1]16)|(buffer[2]8)|buffer[3];}uint32_treadUint32LittleEndian(constuint8_t*buffer){returnbuffer[0]|(buffer[1]8)|(buffer[2]16)|(buffer[3]24);}總結(jié)小端低字節(jié)在低地址常見于Intel CPU大端高字節(jié)在低地址用于網(wǎng)絡(luò)和某些硬件網(wǎng)絡(luò)通信必須使用大端本地存儲通常使用本機(jī)字節(jié)序跨平臺開發(fā)要注意字節(jié)序轉(zhuǎn)換理解大小端對網(wǎng)絡(luò)編程、文件格式解析、硬件交互等至關(guān)重要
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請聯(lián)系我們進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

論壇網(wǎng)站模板網(wǎng)站備案后可以修改嗎

論壇網(wǎng)站模板,網(wǎng)站備案后可以修改嗎,wordpress裝模板,制作網(wǎng)站平臺如何選擇高性能Excel處理工具#xff1a;Java開發(fā)者的終極指南 【免費(fèi)下載鏈接】fastexcel easyexcel

2026/01/21 16:58:02

池州專業(yè)網(wǎng)站建設(shè)公司做網(wǎng)站點(diǎn)子

池州專業(yè)網(wǎng)站建設(shè)公司,做網(wǎng)站點(diǎn)子,企業(yè)網(wǎng)站前臺靜態(tài)模板,icp備案 網(wǎng)站首頁在軟件開發(fā)生命周期中#xff0c;缺陷是不可避免的挑戰(zhàn)。對軟件測試從業(yè)者而言#xff0c;理解常見缺陷模式不僅有助于高效定位

2026/01/21 18:12:02