gpt4 book ai didi

将 4 个字符组合成一个 unsigned long

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:56 25 4
gpt4 key购买 nike

我只想将 4 个字符组合成一个 unsigned long 变量,如下所示。

char y[16];
unsigned long Timer ;

y[12] = '1' ;
y[13] = '0' ;
y[14] = '1' ;
y[15] = '1' ;
Timer = y[15] - '0' ;
Timer |= (unsigned long) (y[12] - '0' << 24);
Timer |= (unsigned long) (y[13] - '0' << 16);
Timer |= (unsigned long) (y[14] - '0' << 8);

printf("%lu" , Timer);

我希望计时器等于 1011 但我一直得到 1 作为输出。

最佳答案

这应该适合你:

(你只需要知道技巧)

#include <stdio.h>

int main() {

char y[16];
unsigned long Timer ;

y[12] = '1';
y[13] = '0';
y[14] = '1';
y[15] = '1';

Timer = y[12] - '0'; //- '0' To get the digit, here 1, and this for every digit
Timer = (Timer * 10) + y[13] - '0'; //*10 to make place for the next digit, and this for every digit (expect the 1st one)
Timer = (Timer * 10) + y[14] - '0';
Timer = (Timer * 10) + y[15] - '0';

printf("%lu" , Timer);

return 0;

}

输出:

1011

关于将 4 个字符组合成一个 unsigned long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711735/

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