gpt4 book ai didi

c - 将十进制的二进制存储在 char 数组中

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

我想通过应用以下代码在 char 数组中存储十进制数的二进制等价物,但问题是我无法保存十进制数的最后一位。我得到的是垃圾值。

 int k,j;
char c[40];
j=32;
scanf("%d",&k);

while(k)
{
k=k>>1;
c[j]=k|1;
j--;
}

puts("number is");
puts(c);

最佳答案

除了@SouravGhosh 指出的问题,您还需要

(5) 通过添加字符 的值,将数字 0/1 转换为 '0''1' 的字符值'0' [实际上 Sourav 也注意到了这一点] 和

(6) 在 k 右移 1 位之前取出低位。

这是一个工作版本:

char c[40];
int j=39;
c[j--]='\0';
while(k)
{
c[j]=(k&1)+'0';
j--;
k=k>>1;
}

puts("number is ");
puts(&c[j+1]);

关于c - 将十进制的二进制存储在 char 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049533/

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