*((unsigned long *)((unsigned long)(&CAN0TXIDR0)))= TX_ID 这一语句是把 CAN0TXIDR0 这一八位寄存器转化为32位吗?

CAN0TXIDR0是八位寄存器,而计算出的TX_ID是32位
如果上面这一语句把八位寄存器强制转化为32位,那么
多出来的24位是直接赋值到接下来的24位吗?

不知道上下文
如果 TX_ID是8位无符号数,那么前面填0
如果是有符号数,那么符号位的1会被扩展到24位