gpt4 book ai didi

c - 类型转换

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

谁能告诉我这些代码行是做什么的

*(a++)  = (int)((value >> 16) & 0xFF) ;
*(a++) = (int)((value >> 8) & 0xFF) ;
*(a++) = (int)((value & 0xFF)) ;

我知道它会检查值,如果它远大于 16,它会将其转换为 int 类型,如果它远小于 8,则执行相同的操作。但是
&0xFF*(a++) 呢?

最佳答案

I understand that it checks the value

它不检查任何东西,它不像 <<数学中的符号,意思是“小得多”。要分解此行:

*(a++)  = (int)((value >> 16) & 0xFF);
  • ( >> ) shifts value向右 16 次
  • ( & ) ands 0xFF 的结果, 从而丢弃左边的所有东西
  • 将结果存储在 a 指向的地址
  • 增加指针,使得a指向某个“下一个”元素

关于c - 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11843723/

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