gpt4 book ai didi

c - 转换说明符如何工作?

转载 作者:行者123 更新时间:2023-11-30 18:15:34 26 4
gpt4 key购买 nike

我可以检查一下我对 scanf 的理解吗?

int a;
scanf("%d",&a);

如果我输入 13,转换说明符是否会将 13 转换为二进制并将其存储在 a 中?

如果输入是13.3,那么它是否将小数13.3转换为二进制并存储在a中?

最佳答案

我不知道你对C语言的了解,但是C语言中的数据存储确实是一个非常重要和有趣的话题。每当数据存储在变量中时,它总是以二进制格式,在简单的 C 语言中不可能看到二进制数据,但您可以在嵌入式 C 语言中看到二进制数据。我们在任何端口或任何内部提供数据的程序中传递数据,然后将输出发送到连接到 LED 的任何端口。假设如果您在端口中传递 -1 并且该端口正在将输出发送到与其连接的 LED,那么您可以看到与其连接的所有 LED 都会发光。在C中你可以这样观察

char c=-1;

printf("%u",c);

输出=255%u 用于无符号整数,这不是错误,您可以检查它。int 和 char 总是以相同的方式存储意味着如果你尝试存储 char A 那么我认为它的 ASCII 值 65 将以二进制方式存储。

char ch='A';
printf("%d",ch);
output 65

相同

int i=65;
printf("%c",i);

输出A;但是float的存储方式与int完全不同,它有三个不同的部分,一是符号位,二是尾数,然后是指数。假设

float f=5.55;
if(f==5.55)
pf("true");
else
pf("false");
output : false

现在再说

float f=5.25;
if(f==5.25)
pf("true");
else
pf("false");

输出:真所以这都是关于内存中的数据存储的非常重要的话题,通常老师不会在类里面讨论。希望您能充分利用。

关于c - 转换说明符如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605469/

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