我正在設計一個通過UDP的可靠數據傳輸,其中在UDP數據緩衝區中是一個字符數組,並且在它的前兩個字節中,我必須放置像00010000這樣的位....等等,我想知道如何實現這一點。請讓我知道,如果你需要的任何信息,在此先感謝您的幫助,我真的很感激將整數值轉換爲位並將其存儲到char數組中?
3
A
回答
1
寫轉換成數字串的(字符數組) 步驟的功能: 1.divide由整數2並將模值存儲在字符數組中。 2.用整數減去商值並將結果存儲在相同的整數中 3.繼續執行步驟1和2,直到整數值變爲零。
希望這將是簡單的轉換程序
0
,或者使用更通用的函數寫一個位到緩衝區(字符數組) `
void setBitAt(char* buf, int bufByteSize, int bitPosition, bool value)
{
if(bitPosition < sizeof(char)*8*bufByteSize)
{
int byteOffset= bitPosition/8;
int bitOffset = bitPosition - byteOffset*8;
if(value == true)
{
buf[byteOffset] |= (1 << bitOffset);
}
else
{
buf[byteOffset] &= ~(1 << bitOffset);;
}
}
}
`
1
你是問,「如何將[u] int-stream轉換爲字節串?」
那麼你可以試試這個:
1. Pick next integer x = uint[i]
2. Get four bytes out of it as
b4 = x & 0xFF000000
b3 = x & 0x00FF0000
b2 = x & 0x0000FF00
b1 = x & 0x000000FF
3. Write the four bytes into the stream s, e.g.
s << b4 << b3 << b2 << b1;
4. i += 1
5. Go to 1
相關問題
- 1. 將整數數組轉換爲char數組,每個整數每3位數
- 2. 將16位整數轉換爲char數組? (C++)
- 3. 如何在C中將字符串轉換爲整數並將其存儲在整數數組中?
- 4. 將TCHAR數組轉換爲char數組
- 5. 將char數組轉換爲int數組?
- 6. 將數組值存儲爲整數
- 7. 將數組從unsigned char *轉換爲char *
- 8. 將char *值存儲到無符號char **數組中
- 9. 將char轉換爲整數表示c#
- 10. 轉換要存儲在char *數組中的整數
- 11. 將日期時間存儲到SQL並將其作爲整數
- 12. 將char的8位數轉換爲整數
- 13. 更新數組並將其從varchar轉換爲整數
- 14. 將char數組轉換爲字節數組並再次返回
- 15. 將數組轉換爲文本文件並存儲到獨立存儲中
- 16. 將內存中的sqlite數據庫轉換爲char數組
- 17. 如何將char數組轉換爲整數或雙精度?
- 18. 如何將char [HEX]數組轉換爲整數?
- 19. 如何將char數組轉換爲整數元素?
- 20. 整數值轉換爲C中的char?
- 21. 在SQL存儲過程中將值轉換爲4位小數
- 22. 將HTML表格行轉換爲PHP數組並將其保存到數據庫?
- 23. 將char數組轉換爲單個int?
- 24. 將char數組轉換爲NSString對象
- 25. 將Int轉換爲Char數組
- 26. java整型數組轉換爲ascii並放入char數組
- 27. 如何將int數組值存儲在char數組中?
- 28. 將整數存儲到數組中,並查找素數JAVA
- 29. 將整數轉換爲數組數字
- 30. C - 將int轉換爲char並將char追加到char
您可以將整數值分配給一個'char'變量,只要它不會溢出。 '00010000'是16. – 2010-03-06 03:57:08
UDP是一個面向八位字節的協議,你不能在其中放入位。你以某種方式必須將這些位打包成八位字節。最明顯的解決方案是將位流分成8位組,並使每組的第一位最多(或者最少,這取決於您)相應八位位組的有效位。換句話說,您可以將'00010000'表示爲數字16。 – avakar 2010-03-06 04:03:17