gpt4 book ai didi

c - C 上的类型转换

转载 作者:行者123 更新时间:2023-11-30 21:41:54 25 4
gpt4 key购买 nike

c 中的类型转换基本上是改变变量的大小,还是也保存变量的符号?

int a; 
signed char b = 0xf4;
unsigned char c = 0xf4;

a = (signed int)c;
a = b;

这里给 a 赋予相同的值,但一个是类型转换值,另一个是简单的有符号字符。 所以在第一种情况下只是 c 值的大小增加

最佳答案

正如您所使用的名称所示,它是关于更改值的类型

您可以在整数和浮点之间进行转换:

int x = (int) 3.14159265363;

或指针类型之间:

int a = 4711, b;
void *ap = &a;
b = *(int *) ap;

所以不,这与“大小”无关。当然,如果您要转换的类型需要大小,则大小必须更改,但并非所有转换都必须更改大小,而且绝对不是所有情况都会发生。从浮点到整数的转换通常是使用专用指令完成的,这不仅仅是丢弃位(或填充值以使其更宽)的问题。

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

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