Hậu tố UL trong C

Em đang code STM32 và đang có thắc mắc về hậu tố UL (unsigned long) , UL ở đây có tác dụng gì trong những đoạn code này . Và không có UL thì có ảnh hưởng gì ạ .

#define ADC_BASE_ADDR          0x40012000UL     
#define RCC_BASE_ADDR          0x40023800UL     
#define ADC_CR1_REG_OFFSET     0x04UL           
#define RCC_APB2_REG_OFFSET    0x44UL

Mặc định là signed int :slight_smile: ko nên dùng số có dấu với bitmask (và số có dấu thì ko shift phải được đâu)

4 Likes

UL - unsigned long.

Nếu không có UL thì trong một số trường hợp tính toán nó sẽ quy giá trị đó về int và gây sai.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?