gpt4 book ai didi

c - 十进制到二进制转换器无法计算大于 1023 的小数

转载 作者:行者123 更新时间:2023-11-30 17:29:01 24 4
gpt4 key购买 nike

我正在编写一个将十进制转换为二进制的函数。它适用于小于 1024 的值,但我也需要它适用于 8 位数字。到目前为止我的功能:

static long int decToBin(int dec)
{
int bit;
int k;
long int bin = 0;

for (bit = 32; bit >= 0; bit--)
{
k = dec >> bit;

if (k & 1)
{
bin += exponentiate(10, bit);
}
}

return bin;
}

我对按位的东西比较陌生,所以问题可能很明显,但我会很感激任何帮助。

编辑:我正在使用 GNU GCC 编译器用 C 语言编写。

最佳答案

供引用

static void decToBin(int dec)
{
int bit;
int k;

for (bit = 31; bit; bit--)
{
k = (unsigned int)dec >> bit;
printf("%d", (k&1)?1:0);
}
k = (unsigned int)dec >> bit;
printf("%d\n", (k&1)?1:0);
return;
}

一旦您了解了它的作用,您就可以实现您自己的。提示:您可能需要分配存储空间(32 字节)。

关于c - 十进制到二进制转换器无法计算大于 1023 的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25837203/

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