黑马程序员——学习整型变量
2015-07-22 20:52
459 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
1、改变整型变量占用的存储空间
在64位编译器下:
short:2个字节,%hd;
short int:2个字节,%hd;
int:4个字节,%d;
long:8个字节,%ld;
long long:8个字节,%lld;
char:1个字节,%d;
通过代码计算字节的储存空间:
min = -32768
max = 32767
这样可得short类型的储存范围:-32768~32767;
同理,int储存范围:-2147483648~2147483647;等。
2、改变整型变量的符号
signed表示的是有符号的数。
unsigned标识的是无符号的数。
改变一个数的符号:把最高位原本用来标识正负,现在用来参与计算。
通过代码确定unsigned的存储范围:
计算结果:
65535
因此可以确定,unsigned short的存储范围是0~65535.
1、改变整型变量占用的存储空间
在64位编译器下:
short:2个字节,%hd;
short int:2个字节,%hd;
int:4个字节,%d;
long:8个字节,%ld;
long long:8个字节,%lld;
char:1个字节,%d;
通过代码计算字节的储存空间:
#include <stdio.h> int main(){ /* 先确认二进制中最小值和最大值:举例short类型,2字节。 最大值:0111111111111111; 最小值:1000000000000000; 如何表达最大值,通过short a = 1: 1的二进制:0000000000000001; 左位移15,末位补0,即可是最小值。 由默认signed,可知最小值-1即可是最大值。 */ short a = 1; short min = a<<15; short max = min - 1; printf("min = %d\n",min); printf("max = %d\n",max); }输出结果:
min = -32768
max = 32767
这样可得short类型的储存范围:-32768~32767;
同理,int储存范围:-2147483648~2147483647;等。
2、改变整型变量的符号
signed表示的是有符号的数。
unsigned标识的是无符号的数。
改变一个数的符号:把最高位原本用来标识正负,现在用来参与计算。
通过代码确定unsigned的存储范围:
#include <stdio.h> int main(){ /* 将有符号数变成无符号数 */ unsigned short a = 0-1; /* 0二进制:0000000000000000 1二进制:0000000000000001 0需要向前借一位数,因此: 0-1: 1111111111111111 因此,第十六位上的1也要计算。得到最大值。 因为没有符号位,所以最小值为0. */ printf("%u\n",a); }
计算结果:
65535
因此可以确定,unsigned short的存储范围是0~65535.
相关文章推荐
- 阿里电话面试
- 万能狗! 程序员屌丝独自创业之路(一)
- 黑马程序员——Java基础---io流(io中的其他对象)
- 黑马程序员——第二篇_多线程
- 黑马程序员-冒泡排序
- 黑马程序员-抽象方法的继承
- 黑马程序员-多线程--线程间的通信
- 黑马程序员-java多线程
- 黑马程序员-工厂模式
- 黑马程序员-关于Java IO流的一些理解
- 黑马程序员—反射
- 面试题1——等长数组及45度
- 程序员后花园
- 程序员编程之道之快乐编程好习惯
- 关于数组与指针的一个面试题
- IT职场,你如何规划的更好?
- 黑马程序员————Java基础日常笔记---IO其他流
- 假如你喜欢一个程序员小伙
- 阿里巴巴常考面试题及汇总答案
- 知乎奇文!程序员风格的修真小说