gpt4 book ai didi

c - Bitshift 字符数组

转载 作者:行者123 更新时间:2023-12-04 23:48:28 27 4
gpt4 key购买 nike

如果我想对整数 5 进行位移乘以 3,所以 int a = 5; int b = a << 3; ,结果将是 40十进制为 510140101000 .

但是,如果我有以下 char 怎么办?大批: 00000 00101通过向左移动三位,我希望结果为 00001 01000 .所以我想适应 0的填充。你有什么建议?

最佳答案

如果你指的是一个实际的 char 数组,你可以使用 memmove()memset():

char str[] = "0000000101";

int shift = 3;
int length = strlen(str);

memmove(str, str + shift,length - shift);
memset(str + length - shift,'0',shift);

// Result:
// "0000101000"

关于c - Bitshift 字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8085521/

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