我有一個十六進制的地址,比如007b183c。我想改變它的位。 我已經讀了一點(沒有雙關語意圖)有關位移和掩碼,但我不知道如何獲得位格式的地址可以這麼說。我該怎麼做呢?按位操作地址
按位操作地址
回答
假設你正在談論操縱地址位,如果你有一個地址,像這樣的:
char * p = (char *)0x007b183c;
和你想要做某種位操作,例如,說的,舍入到接下來的16字節對齊的地址,然後你轉換成合適的int類型,進行操作,然後退回,例如
char *p_aligned - (char *)(((uint_ptr_t)p + 15) & ~15); // p_aligned = 0x007b1840
謝謝。這是我正在尋找的。 – tem887
如果我的理解是正確的,你有一個指向某個位置,並希望在位移動它。
這是行不通的。指針指向一個字節位置,在這個意義上這是不可分割的。地址的最低位指定了哪個字節。
您將不得不讀取鄰居字節,然後使用這兩個值來獲取所需的值或某種意義,但不能指向單個位。
我不想「移動」它。我只想在稍後可以使用的地址中放置一些位。這些位不會被我假設的地址使用,因爲如您所說,可以分配的最小內存量是8位。 – tem887
我不認爲你真的明白我寫的東西。地址是它指向的字節的INDEX。它裏面沒有未使用的位。 – MightyPork
- 1. PostgreSQL中MAC地址的位操作
- 2. 按位操作的操作
- 3. 按位操作
- 4. 按位操作:FitsBits
- 5. ArrayDeque.allocateElements(按位操作)
- 6. python按位操作
- 7. 按位C操作
- 8. 邏輯地址空間在64位和32位操作系統
- 9. C++重寫地址操作
- 10. 陣列地址操作
- 11. Python列表按位操作
- 12. Yii按位操作在CDbCriteria
- 13. phalcon伏特按位操作?
- 14. python中的按位操作
- 15. Python和按位操作
- 16. 按位操作解剖
- 17. 按位操作錯誤?
- 18. ByteString上的按位操作
- 19. 按位明智的操作
- 20. 大位向量按位操作
- 21. 位操作或按位編程
- 22. 位操作在XML中的Delphi - 按位
- 23. .NET互操作傳遞VB6表按地址
- 24. SQL Server:分組按位操作按
- 25. 在OpenStreetMap中點按位置地址Android
- 26. IPV6地址的按位比較
- 27. 向後工作按位操作
- 28. 這個按位操作如何工作?
- 29. 爲什麼操作地址增加2?
- 30. 操作系統內存分配地址
恩,你沒有把它變成任何「位格式」,它已經是一個數字了,所以只要對它進行數學計算。 – MightyPork
它以字節爲單位。所以如果我將它加1,我將移動到下一個字節(sizeof(char))。可以這麼說,我無法控制住。 – tem887
你的問題是廣泛的。投票結束。閱讀C中對值進行按位操作。如果您仍然感到困惑,請向您嘗試完成的任務提出具體問題。此外,一定要搜索並檢查是否有其他人問你的問題。對於編碼來說,你聽起來很陌生,確實已經有人了。 – RLH