gpt4 book ai didi

c++ - C/C++ 中是否有简写字节表示法?

转载 作者:可可西里 更新时间:2023-11-01 18:41:58 25 4
gpt4 key购买 nike

我已经有一段时间没有使用 C/C++ 编程了。对于我的生活,我不记得(或在谷歌中找到)如何进行以下工作。我认为有一种写重复字节串的速记方法,如下所示:

0x00 => 0x00000000
0xFF => 0xFFFFFFFF
0xCD => 0xCDCDCDCD

例如,如果我要声明

int x = 0xCD;
printf("%d", x);

它将打印 3452816845,而不是 205

我要疯了吗?

是否可以不进行运行时移位(例如,通过预处理器处理它)?

最佳答案

最简单的方法是:

0x1010101u * x

我想不出任何可能更简单或更不言自明的语法...

编辑:我看到您希望它适用于任意类型。因为它只对无符号类型有意义,所以我假设您使用的是无符号类型。然后尝试

#define REPB(t, x) ((t)-1/255 * (x))

关于c++ - C/C++ 中是否有简写字节表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7971090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com