ANSI C 标准定义的基本数据类型取值范围数字有啥特殊意义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ANSI C 标准定义的基本数据类型取值范围数字有啥特殊意义相关的知识,希望对你有一定的参考价值。

整型 int 16位 -32768~32767
短整型 short 16位 -32768~32767
长整型 long 32位 -2147483648~2147483647
还有好多就不写了 这些数值有什么特殊含义吗 干巴巴的硬记不太好记

每一种数值类型都有自己的范围:告诉你这些是为了防止发生溢出错误!例如:在TC2.0中
/* Note:Your choice is C IDE */
#include "stdio.h"
main()

int a=32768;
printf("%d",a);

这个时候a的值就超出了int类型数据的范围,答案就不正确了!
来源则根据你的编译系统和操作系统的原因而定:
但是在现在的32位操作系统中,在tc2.0中,int类型是占2个字节,1个字节占8位,然后就是你说的16位。在内存中由于是用二进制进行存取的,故是2的16次方等于65536,然而int在默认情况下是有符号的类型所以分为正负两种类型65536/2就是你要的取值范围了。
注意:但是在不同的编译环境中,各种数据类型占的字节是不一样的,例如:在Vc++6.0中int就占4个字节……
建议:不用全背过,背过我们常用的几个就可以了,不过我没有背……
呵呵:希望能够帮助你!
参考技术A 计算机里规定,8位二进制为一个字节,拿byte来说,一个BYTE类型的数据是占1BYTE(字节)的,那么他的取值范围为:00000000~11111111转换成10进制就是0到255,
同样一个2BYTE的short int类型,他可装的为16位二进制即:
0000000000000000~1111111111111111,也就是10进制的0~65535
但是short类型他是有正负之分的,那么怎么表示负数呢?就是判断最高位,当最高位为0则为正,为1则为负。即:1000000010110001就是一个负数。其他的以此类推……
参考技术B 怎么来的?定义一个变量,就在内存中开一段存储控件,int占2个字节,也就是16位,有符号的int型数据用2个字节存储只能表示-32768~32767。其他的也一样。

java数据类型,取值范围,引用类型解析

 

 
与javascript不同,Java是强类型语言,在定义变量前需要声明数据类型。主要分两种数据类型:基本数据类型和引用数据类型。

 

1、基本数据类型分析:

 

基本数据类型 数值型 整数型 byte字节类型 占8位,用于表示最小数据单位,取值范围为-128~127(代表以存储数字的大小)
short 短整型  16位,很少用,取值范围为-32768 ~ 32767
int 整数类型 32位,常用,取值范围为-2147483648 ~21474836487
long 长整形  64位,常用,取值范围为-2^63-1~2^63-1,所有整数默认都为int类型,所以在定义的long型数据后面加L或l。小于32位数的变量,都按int结果计算
浮点型 float 浮点类型(单精度) 32位,后缀F或f,1位符号位,8位指数,23位有效尾数。取值范围为-1.4E-45~-3.4E+38,0,1.4E-45~3.4E+38
double 双精度类型(双精度)

64位,最常用,后缀D或d,1位符号位,11位指数,52位有效尾数,取值范围为-4.9E-324~-1.7+308,0,4.9E-324~1.7+308

char 字符型 Java中的char类型使用Unicode字符集,在内存中是以16位无符号数据表示,取值范围:0~65535
boolean 布尔型  8位,取值范围:true和false,取其他值报错

 

1、引用数据类型分析:  

 指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存堆   中实际的值;按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;

 主要包含:类、接口和数组等。当写代码的时候经常会实例化个对象,例如new Person(),运行的时候会在堆内存中存储这个对象的信息,当Person p=new Person(),此时运行的时候会在栈内存中存储堆中那个对象的地址。

以上是关于ANSI C 标准定义的基本数据类型取值范围数字有啥特殊意义的主要内容,如果未能解决你的问题,请参考以下文章

ANSI C 标准组合的类型字长和范围

C语言中怎么计算一个类型的取值范围?如 char 用程序算

java数据类型,取值范围,引用类型解析

C语言各个数据类型取值范围

long类型数字的范围是多大啊?

C语言各个数据类型取值范围