gpt4 book ai didi

对我的 C 编程书中的示例代码感到困惑

转载 作者:行者123 更新时间:2023-12-02 16:02:17 25 4
gpt4 key购买 nike

我对将 48 添加到 ((num >> 15 - i) & 0x0001) 的输出的目的感到困惑

/* Convert fixed 16-bit integer to binary digit string.
Pre num contains integral value to be converted
bitStr is a pointer to variable for bit string
Post bit string stored in str
*/

void bin16 (uint16_t num, char* bitStr) {

for (int i = 0; i < 16; i++)
bitStr[i] = (char) ((num >> 15 - i) & 0x0001) + 48;

return;
}// end of bin16

最佳答案

48 是字符“0”的 ASCII 值。在这种情况下,它用于在数字 0 和 1 以及字符 '0' 和 '1' 之间进行转换

bin16() 也可以写成:

void bin16 (uint16_t num, char *bitStr) {

for (uint16_t i = 0; i < 16; i++)
bitStr[i] = (char) ((num >> 15 - i) & 0x0001) + '0';
}

关于对我的 C 编程书中的示例代码感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177181/

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