首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有大整数的结构初始化

具有大整数的结构初始化
EN

Stack Overflow用户
提问于 2022-05-23 17:09:15
回答 2查看 66关注 0票数 4

因此,我有以下结构:

代码语言:javascript
运行
复制
typedef struct int64 {
    unsigned char value[8];
} int64;

它用于表示64位整数(我知道stdint.h中存在这种情况,但我认为自己编写它可能是一个很好的练习,我计划对大得多的整数使用这种格式)。我的问题是,是否可以使用二进制字符串或超大型整数初始化此结构,例如:

代码语言:javascript
运行
复制
int64 number = 0b1000000000000000000000000000000000000000000000000000000000011001

// Or

int64 number = 1231823812738123878;  // Or something larger than 2^32

谢谢你对我的帮助:)

EN

Stack Overflow用户

发布于 2022-05-23 17:18:45

您必须逐字节拆分它,因为结构包含一个字节数组:

代码语言:javascript
运行
复制
int64 number = { { 0b10000000, 0b00000000, 0b00000000, 0b00000000, 
                   0b00000000, 0b00000000, 0b00000000, 0b00011001 } };

您可以使用十六进制常量而不是二进制常量压缩它:

代码语言:javascript
运行
复制
int64 number = { { 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19 } };
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72352367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档