第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#小尾數(shù)法還是大尾數(shù)法?

C#小尾數(shù)法還是大尾數(shù)法?

C#
Qyouu 2019-12-12 14:10:18
在允許我們通過UDP / IP控制它的硬件文檔中,我發(fā)現(xiàn)了以下片段:在此通信協(xié)議中,DWORD是4字節(jié)數(shù)據(jù),WORD是2字節(jié)數(shù)據(jù),BYTE是單字節(jié)數(shù)據(jù)。存儲格式為小字節(jié)序,即4字節(jié)(32bits)的數(shù)據(jù)存儲為:d7-d0,d15-d8,d23-d16,d31-d24;雙字節(jié)(16位)數(shù)據(jù)存儲為:d7-d0,d15-d8。我想知道這如何轉(zhuǎn)換為C#?發(fā)送之前,我是否必須轉(zhuǎn)換內(nèi)容?例如,如果要發(fā)送32位整數(shù)或4個字符串?
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

C#本身未定義字節(jié)序。但是,無論何時轉(zhuǎn)換為字節(jié),您都在做出選擇。該BitConverter類有一個IsLittleEndian場告訴你這將如何表現(xiàn),但它不給的選擇。BinaryReader / BinaryWriter也是如此。


我的MiscUtil庫有一個EndianBitConverter類,它允許您定義字節(jié)序;BinaryReader / Writer有類似的等效項??峙聸]有在線使用指南,但它們并不重要:)


(EndianBitConverter還具有普通BitConverter中不存在的功能,該功能可以在字節(jié)數(shù)組中就地進行轉(zhuǎn)換。)



查看完整回答
反對 回復 2019-12-13
?
犯罪嫌疑人X

TA貢獻2080條經(jīng)驗 獲得超4個贊

關(guān)于小尾數(shù),簡短的答案(我需要做任何事情)是“可能沒有,但這取決于您的硬件”。您可以通過以下方式進行檢查:


bool le = BitConverter.IsLittleEndian;

根據(jù)這句話,您可能希望反轉(zhuǎn)緩沖區(qū)的某些部分。另外,喬恩斯基特具有特定端轉(zhuǎn)換這里(尋找EndianBitConverter)。


請注意,例如,鈦是大端的。大多數(shù)英特爾都是低端的。


是特定的UDP / IP ...嗎?



查看完整回答
反對 回復 2019-12-13
?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

您需要了解網(wǎng)絡(luò)字節(jié)順序以及CPU字節(jié)序。


通常,對于TCP / UDP通訊,您總是使用htons函數(shù)(和ntohs和它們及其相關(guān)函數(shù))將數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序。


通常,網(wǎng)絡(luò)順序為高位優(yōu)先,但在這種情況下(出于某種原因?。?,通信是低位優(yōu)先,因此這些功能不是很有用。這很重要,因為您不能假設(shè)它們實現(xiàn)的UDP通訊遵循任何其他標準,如果您使用的是大端架構(gòu),這也將給您帶來生活上的困難,因為您無法按需包裝所有內(nèi)容htons:-(


但是,如果您使用的是Intel x86架構(gòu),那么您已經(jīng)是低位字節(jié)序了,因此只需發(fā)送數(shù)據(jù)而無需進行轉(zhuǎn)換。



查看完整回答
反對 回復 2019-12-13
  • 3 回答
  • 0 關(guān)注
  • 381 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號