为了账号安全,请及时绑定邮箱和手机立即绑定

在c++中定义时int和double有何区别

在c++中定义时int和double有何区别

C++
摇曳的蔷薇 2019-02-19 13:12:41
在c++中定义时int和double有何区别
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

1、类型不同

int 和 double 虽然都是基本数据类型,但 int 是整形, double 是浮点型。

2、在计算中的存储方式不同

int在32位计算机中占4个字节,这4个字节的在内存中存放的顺序为低字节存在低地址,高字节存在高地址。

double是64位的,在存储方式上都是遵从IEEE的规范,其遵从的是 IEEE R64.53。

扩展资料:

C\C++中int、double等数据类型范围的理解

实例代码:

short sia = -32760;

short sib = (-32760 + 32768) % 65536 - 32768;

printf("not overflow\n");

printf("sia = %hd\n", sia);

printf("sib = %hd\n", sib);

sia = -32769;

sib = (-32769 + 32768) % 65536 - 32768;

printf("\noverflow\n");

printf("sia = %hd\n", sia);

printf("sib = %hd\n", sib);

sia = 32768;

sib = (32768 + 32768) % 65536 - 32768;

printf("\noverflow\n");

printf("sia = %hd\n", sia);

printf("sib = %hd\n", sib);

运行结果: 

说明: 

1、在赋值操作时,如sia = -32769,-32769是先作为一个常量值存放在内存中,这个数值是没有越界的概念的,就是二进制值,只是在赋值操作时才进行了对应的数据转换; 

2、从运行结果可见,该处理机制对数据溢出和不溢出得到的结果都是适用的; 

3、联想数据闭环循环,如程序中32768,超过short型上限,其溢出一个数,作为一个数据闭环,则直接跳转到了-32768,也就是short型下限值。



查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 1053 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信