cost 245 ms
將 colors 與 C 中的位域與按位運算符混合?

[英]Mixing colors with bitfields in C with bitwise operators?

我正在閱讀關於位域的 Wikipedia 條目,看到如何使用二進制數來表示主要的 colors 並使用按位或 ( | ) 運算符組合它們。 我想檢查一種顏色是否包含在另一種顏色中。 我明白為什么會這樣,但是是否有按位運算或其組合可以達到我想要的結果? ...

C++中位域的特征

[英]Characteristics of bit-Fields in C++

閱讀https://en.cppreference.com/w/cpp/language/bit_field ,以下結論是否正確? 相鄰位域之間是否沒有填充是實現定義的(這在https://eel.is/c++draft/class.bit#:bit-field中有所不同) 位域在類對象中的放置是實 ...

C/C++ 中的位域:什么是保證的,什么是實現定義的?

[英]Bit-Fields in C/C++: what is guaranteed, what is implementation-defined?

閱讀https://en.cppreference.com/w/c/language/bit_field ,以下結論是否正確? 相鄰的位字段之間沒有填充(這在 C 標准的 6.7.2.1 中似乎有所不同)。 位字段在存儲單元中的放置是實現定義的。 位域中的位 position 是實現定義的。 ( ...

g++ 關於 *應該* 工作的字節序的問題?

[英]g++ question about endianism that *should* work?

我認為這應該行得通,但我顯然錯了,但我不知道為什么:-) 假設我有以下來自 the.network 0x03 0x02 的字節。 在我的腦海中,我希望它被轉換為小端和下面的聯合 我希望我可以使用 be16toh(a.opcode) 並獲得 0x030,而 numRegisters 是 0x02。 ...

什么時候應該對 boolean 值使用位域?

[英]When should someone use bit-field on a boolean value?

我一直在研究虛幻引擎 c++ 中的一些代碼,我發現他們在 header 文件中有 4 個布爾值聲明為:bool bIsEvaluating : 1; bool bIsStopping : 1; bool bIsBeginningPlay : 1; bool bCompleteOnPostEvalu ...

使用位域創建枚舉

[英]Create an Enum with a bitfield

首先介紹一下背景:我想處理各種文件並檢測每個文件都提到了哪些歐洲國家。 例子:EU_COUNTRIES = ( "Austria", "Belgium", "Bulgaria", "Croatia" ) # 4 out of the 27 為了優化 ram 消耗( ...

Assembly x86 MASM - 從內存中提取 5 位的問題

[英]Assembly x86 MASM - Problem of extracting 5 bits from memory

我有一個問題要解決,但我不知道該怎么做。 我正在詢問有關如何解決此問題的一般想法。 我在 ESI 中有一個內存地址。 Memory 表示某種簡化的 ASCII 編碼,其中 5 位,一個接一個表示一個特定的字符。 內存以五位結尾 - 00000b。 為了轉換為正常的 8 位 ASCII,必須將 60 ...

我使用 memcpy 錯了嗎?

[英]Am I using memcpy wrong?

我正在嘗試使用 memcpy 將 unsigned int 的一部分復制到我創建的同一結構中的另一個 unsigned int。 但是我的程序只打印第一個 printf 語句,然后說: Process returned -1073741819 (0xC0000005) 我使用 memcpy 錯了嗎 ...

為什么不能在位域中計算常量地址?

[英]Why can't a constant address be computed in a bitfield?

我正在嘗試在 Silabs EFR32BG22 上實現一個常量鏈接的 DMA 描述符列表(在 ROM 中),其中最后一個描述符鏈接到位於 RAM 中的另一個描述符。 我正在使用 arm-none-eabi-gcc 10.2 (Cortex M33)。 我想在常量初始值設定項中使用 .data 部分 ...

這個基於位域的結構如何計算 1. 結構的大小 2. 指針值之間的差異?

[英]How is this bit fields based structure calculating 1. the structure's size 2. the difference between pointer values?

代碼 Output: 我在期待分配給 x 的 4 個字節由於 long int 是位域化的,因此分配給它的是 33 位 -> 4 + 4 字節,但只使用了 33 位然后將 4 個字節分配給 z,並且不會占用前 8 個字節中的剩余空間,因為沒有剩下 4 個完整的字節。 總共 16 個字節, ...

C++ 將 [0, 2^n) 范圍內的無符號整數轉換為 [-2^(n-1), 2^(n-1) ) 范圍內的有符號整數

[英]C++ convert an unsigned int in range [0, 2^n) to signed int in range [-2^(n-1), 2^(n-1) )

一開始,我意識到我的所作所為很糟糕。 如果沒有明確禁止的話,我依賴於現在(至少)未定義的行為。 它曾經有效,我認為我很聰明。 現在它沒有,我正在嘗試修復它。 我有 2 的正冪數(FFT bin 索引,但不重要)。 我想通過將值的后半部分包裝到負范圍來有效地對一組 bin 索引進行 FFT 移位。 也 ...

分隔位域中的位

[英]Separating bits in a bitfield

假設我有一個位域結構: 假設我已經設置了這樣的位: 現在,我想將位域分成 5 和 5 兩部分。 如果位當前看起來像這樣1000100110 我想把它分成10001 -> 17和00110 -> 6 。 ...

2022-08-02 19:55:13   1   38    c / bit-fields  
重新排序位域神秘地改變了結構的大小

[英]Reordering bit-fields mysteriously changes size of struct

出於某種原因,我有一個結構需要跟蹤 56 位信息,這些信息被排序為 4 包 12 位和 2 包 4 位。 這總共有 7 個字節的信息。 我嘗試了一個像這樣的字段struct foo { uint16_t R : 12; uint16_t G : 12; uint16_t B ...

為什么工會的規模比預期的要大?

[英]Why is the size of the union greater than expected?

輸出: sizeof(dbits) = 16 ,但如果 輸出: sizeof(dbits) = 8 為什么工會的規模會增加? 在第一個和第二個並集中,結構中位域的位數相同,為什么大小不同? 我想這樣寫: 但是,sizeof(dbits) = 16,而不是 8,為什么? 使用結構中的位字段來解析雙精 ...

為什么結構大小隨結構中的枚舉位域而變化(標准C)

[英]Why does struct size change with enum bitfield in struct (standard C)

賞金將在 7 天后到期。 此問題的答案有資格獲得+100聲望賞金。 Eric Postpischil希望引起對這個問題的更多關注。 使用這個問題中提供的代碼,我觀察到當使用 8 位寬的枚舉而不是uint8_t類型時,結構的大小會增加。 請查看以下代碼示例: 代碼選項 A 此結構second_el ...

將 unsigned short 分配給 unsigned char 位字段會使 STM32F1 復位

[英]Assigning unsigned short to an unsigned char bit field makes STM32F1 reset

所以我在不明白為什么的情況下遇到了這個問題。 我正在讀取 16 位的 EEPROM 部分。 在第一次讀取 EEPROM 時,所有單元都是 0xffff。 這部分內存將存儲一個標志,所以基本上是 1 位。 該標志以unsigned char maxM1 :1; . 見下文 我正在使用返回 1 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM