gpt4 book ai didi

c - 省略字符中的前导 0 并附加

转载 作者:行者123 更新时间:2023-12-04 04:42:30 24 4
gpt4 key购买 nike

假设我有这些 8 位字符:

01111111  00011100  01101111

我想省略前导 0 并在像这样之前附加来自 char 的位:
11111110  01110011  01111000

*请注意,最后一个字符已用零填充。

任何关于如何做到这一点的建议将不胜感激。欢呼。

最佳答案

将第一个字符上移 1:

num[0] << 1;

这将变成 01111111进入 11111110 .现在您需要将 LSB 与下一个字符的 MSB 进行 OR。为此,您需要下一个字符的移位副本:
char copy = num[1] >> 7; 

这将变成 01110011进入 00000000 ,因为它的高位是 0。你现在可以 OR 两个:
num[0] |= num[1];

这会给你你想要的。

要使用序列执行此操作,您需要循环并将每次迭代的移位增加到 8,然后重置。

请注意,正如 chux 指出的那样,最好将无符号类型用于此类内容。

关于c - 省略字符中的前导 0 并附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674191/

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