C语言~~~

发布网友

我来回答

5个回答

热心网友

2、“当赋值号左边的变量为短整型,右边的值为长整型时,短整型变量只能接受长整型数低位上的两个字节中的数据,高位上的两个字节中的数据将丢失。”这句话什么意思啊?
短整型 的内存是两个字节
长整型 的内存是4个字节,
长整型赋给短整型,短整型的空间只有2个字节这么大,当然只能接受长整型2个字节的数据了,而计算机数据是以2进制形式存放的,1个字节是8位,2个字节是16位,
短整型只接受长整型低位上的16位,
所谓低位:左边为高,右边为低,即右边开始数,上面例子数16位就够了.

第一题,自己看书了,自己反复琢磨了才有影响,也记得深刻,以后不会忘记,
来这里让别人帮你解释书本上的东西不现实的!
有具体的问题大家可以一起讨论,交流的!
祝你成功!

热心网友

类型转换有隐式转换和显式转换两种:

int b = 2;
double a,c = 3.1;

a = b+c;//这时 b被隐式的转换为类型double.当然如果将c初始化为3.0.则c被隐式转换为int.

当然你可以显示式的强制转换:

a = b + (int)c;//这里只有一种可能就是c被强制转换为int类型了.同时a也被隐式转换为int了.

“当赋值号左边的变量为短整型,右边的值为长整型时,短整型变量只能接受长整型数低位上的两个字节中的数据,高位上的两个字节中的数据将丢失。”这句话是指赋值号两边的类型不同时,编译器会自动同右边的变量的类型隐式的强制转换为左边变量的类型,不能自动隐式转换的需要手动的显式强制转换,否则类型不匹配的变量是不可以相互赋值的.
所以这句话中,右边的如果是长整型的变量的话,编译器是自动隐式的将其转换为短整型.又因为编译器一般是选择右对齐,而右边是低位,左边是高位,所以左边高位的值会被舍弃.长整型的长度为四个字节,短整型为2个字节(32位计算机).所以保留的是低位的两个字节,同时丢失的是高位的两个字节.

热心网友

1,数据类型转换就是强制转换
比如double型的数据i转换成int型数据
(int)i;就行了
2,这个意思就是精度损失
就比如你用一个电冰箱装冷菜冷饭
冰箱比较小
而冷菜冷饭比较多
那么总有装不进去发霉的一样

热心网友

短整型占2个字节,数据赋值时从低位开始的,所以只能接受长整型数低位上的两个字节中的数据。

热心网友

我学C语言时间不长,但如果说你这个就不懂,也就是不能自己弄懂的话,对后面的指针和结构体等内容就更难理解了。
我想你仔细看书,会明白的,不必过于求细节,因为它和机器语言很接近,所以,需要学习汇编语言(汇编语言更……呵呵);对于你的问题,你想想,系统分给整型是16位,而长整型是32位,不进行转化,int型能装进long int里吗?

QQ:406883054(互动学习)
中国学习在线:http://www.china-e.com.cn/(无锡总代理)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com