因此,我有以下结构:
typedef struct int64 {
unsigned char value[8];
} int64;它用于表示64位整数(我知道stdint.h中存在这种情况,但我认为自己编写它可能是一个很好的练习,我计划对大得多的整数使用这种格式)。我的问题是,是否可以使用二进制字符串或超大型整数初始化此结构,例如:
int64 number = 0b1000000000000000000000000000000000000000000000000000000000011001
// Or
int64 number = 1231823812738123878; // Or something larger than 2^32谢谢你对我的帮助:)
发布于 2022-05-23 17:18:45
您必须逐字节拆分它,因为结构包含一个字节数组:
int64 number = { { 0b10000000, 0b00000000, 0b00000000, 0b00000000,
0b00000000, 0b00000000, 0b00000000, 0b00011001 } };您可以使用十六进制常量而不是二进制常量压缩它:
int64 number = { { 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19 } };https://stackoverflow.com/questions/72352367
复制相似问题