gpt4 book ai didi

c - 移位运算符和按位或

转载 作者:行者123 更新时间:2023-11-30 18:20:54 25 4
gpt4 key购买 nike

我有四个字符 channel 1、 channel 2、 channel 3、 channel 4。我正在读取一个二进制文件。问- 以下代码表示什么?

int GetLong(FILE * hTTF) 
{
int ch1 = getc(hTTF);
int ch2 = getc(hTTF);
int ch3 = getc(hTTF);
int ch4 = getc(hTTF);

if ( ch4 == EOF )
return( EOF );

return( (ch1<<24)|(ch2<<16)|(ch3<<8)|ch4 );
}

考虑 ch1='k',ch2='e',ch3='r',ch4='n';告诉我输出以及为什么会这样?我不明白输出值。Que-这个转换是什么 (ch1<<24)|(ch2<<16)|(ch3<<8)|ch4我们这样做能达到什么目的?

最佳答案

ch[1234] 是字符这一事实并不相关:它们只是数值。

想象一下是这样的:

ch1 = 0x10;
ch2 = 0x20;
ch3 = 0x30;
ch4 = 0x40;

您的输出值将为十六进制值 0x10203040。

关于c - 移位运算符和按位或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243113/

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