变量值的存储
变量被定义以后,系统在运行时会为该变量分配一个相应大小的存储空间,称为存储单元。
给变量赋值后,该变量对应的存储单元中会存放该值,这个值称为变量的值。
那么变量的值在变量的存储单元中是如何表示的呢?
(1)整数是以补码的形式存放的。
(正数的补码是其本身,负数的补码为原码按位取反加1)
如:int   a=2,   b;       b= -2;   (这里int是2个字节)

a 00000000 00000010

b 11111111 11111110

2的原码表示:00000000 00000010
-2的补码表示:11111111 11111101+1=11111111 11111110

(2)特殊情况:最大、最小和0的存储

最大值:2^15-1(32767):

0 1111111 11111111
16 9~15 1~8

最小值:-2^15    (-32768)

1 0000000 00000000
16 9~15 1~8

0的存储如下:

0

0000000

00000000

16

9~15

1~8

(3)超出范围的情况(溢出)

①、阅读下面的程序段,程序段的输出结果是()

view plain copy to clipboard print ?
  1. int i=65536;  printf(“%d”, i );

int i=65536; printf(“%d”, i );

view plain copy to clipboard print ?
  1. A)65536  B)0   C)有语法错误,无输出结果   D)1
  2. 说明:65536=216,即:1 00000000 00000000,第17位上为1,后面16位均为0。存储时只能存放16位,即16个0。故结果为0。

A)65536  B)0   C)有语法错误,无输出结果   D)1 说明:65536=216,即:1 00000000 00000000,第17位上为1,后面16位均为0。存储时只能存放16位,即16个0。故结果为0。

②、若有下面的程序段,则输出结果为()

view plain copy to clipboard print ?
  1. int a=32768;  printf(“%d”, a);

int a=32768; printf(“%d”, a);

view plain copy to clipboard print ?
  1. 说明:32768=215,即 10000000 00000000,第16位上为1,后面15位均为0。存储时只能存放16位,最高位为1,故结果为-32768。

说明:32768=215,即 10000000 00000000,第16位上为1,后面15位均为0。存储时只能存放16位,最高位为1,故结果为-32768。

③、若有下面的程序段,则输出结果为()

view plain copy to clipboard print ?
  1. int a=65549;  printf(“%d”,a); 已知65549=1 00000000 00001101B   (13)

int a=65549; printf(“%d”,a); 已知65549=1 00000000 00001101B (13)

view plain copy to clipboard print ?
  1. int b=131069;  printf(“%d”,a); 已知131069=1 11111111 11111101B  (-3)

int b=131069; printf(“%d”,a); 已知131069=1 11111111 11111101B (-3)

题目:在32位计算机里

view plain copy to clipboard print ?
  1. int a = -65536;
  2. short b = a;
  3. a = b;
  4. a=?

int a = -65536;short b = a;a = b;a=?

在int存储中 -65536 = 10000000 00000000 00000000 00000000

所以short只取int后面两个字节。

a=0

如a=65533

则a = 00000000 00000000 11111111 11111101

b是有符号的short  = 11111111 11111101 = -3

int short型类型转换相关推荐

  1. c++基本数据类型基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:

    基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:单精度型:float 双精度型:double 长 ...

  2. Java中的byte[]/char[]/int/String数据类型转换

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51743969 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  3. Java黑皮书课后题第5章:*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式,下面是运行示例

    5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储.编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式 题目 题目概述 运行示例 资料与破题 原码反码 ...

  4. c++ 中关于int,unsigned int , short的关系与应用

    int类型比较特殊,具体的字节数同机器字长和编译器有关.如果要保证移植性,尽量用__int16 __int32 __int64吧 __int16.__int32这种数据类型在所有平台下都分配相同的字节 ...

  5. C# 中int short Int16 Int32 Int64详解

    Java中没有Int32,Int64,,只有int,short,long Java中int就代表Int32 ,short就代表Int16,long就代表Int64 首先,几个基本的关键字: Int16 ...

  6. C#中int short Int16 Int32 Int64区别

    Java中没有Int32,Int64,,java中只有int,short,long Java中int就代表Int32 ,short就代表Int16,long就代表Int64 首先,几个基本的关键字: ...

  7. C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short

    //从网络中读取C的无符号int,short,byte字节数组,相应转换成java的long,char,short short anUnsignedByte = 0; char anUnsignedS ...

  8. null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)

    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外) 转载于:https://www.cnblogs.com/zhenmi ...

  9. int整型转字符串,字符串转整型valueof,

    int整型转字符串(可以直接+号拼接整型和字符串,也可用调用包装类Integer中的parseInt方法将字符串转成整型,且第二种parseInt用的比较多) //将数值型字符串转为int整型 Str ...

最新文章

  1. 图片管理之获取图片列表数据
  2. day 0314函数的进阶
  3. 原版ubuntu中安装中文输入法
  4. [转]数据仓库,OLAP与数据挖掘之间的关系
  5. SL项目开发自定义控件封装之新建自定义控件类库
  6. b树删除节点每次只能删一个吗_深入理解数据库系统之存储存引擎(B树)
  7. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——struts.xml配置详情
  8. 数据消费过程_特色鲜卤现捞加盟店经营要如何抓准消费群体定位
  9. Qt学习笔记-Qt Graphic View Framework
  10. ​Java Map中那些巧妙的设计
  11. 18. GD32F103C8T6入门教程-adc-使用教程5-定时器TIM2更新事件触发adc0
  12. 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
  13. rip协议中周期性广播路由信息的报文_关于RIP的一点小笔记--华为
  14. 计算机与软件水平考试中级,2020年计算机软件水平考试可以直接考中级吗
  15. PMP课程笔记:第11章 项目风险管理
  16. ITIL问题管理流程设计
  17. 用Python做一个美丽的每日计划
  18. 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书
  19. [解疑][TI]TI毫米波雷达系列(三):调频连续波雷达回波信号3DFFT处理原理(测距、测速、测角)
  20. PCL点云配准(ICP)

热门文章

  1. 整数的按权展开 (10 分)
  2. 11g 配置 dgmgrl 以及报错 DataGuard ORA-00313,
  3. 20130719CF比赛141div2
  4. 【计算理论】图灵机 ( 图灵机示例 )
  5. 总价加激励费用合同计算
  6. 一文读懂数据仓库、数据湖、湖仓一体
  7. STM32 + 无线通信模块 NRF24L01 数据收发
  8. 4G无线模块 电力通信模块
  9. bga封装扇出_电路板设计BGA芯片扇出功能教程
  10. 基于Simulink的简单车辆动力学模型搭建