【基础知识补充】C、C++、C#、Java中各基本数据类型范围

1、C语言 中:

默认修饰符为:signed 有符号数,最高位为符号位,0:代表正数,1:代表负数 。负数在计算机中是以补码的形式存储的
当需要使用无符号类型时,添加unsigned 修饰符。

类型符号表示描述取值范围十六进制
字符(signed) char1字节8位有符号

-128 ~ 127

(-2^7 ~ 2^7-1)

0x00~0x7F:正数
0x80~0xFF:负数
unsigned char1字节8位无符号

0 ~ 255

(0 ~ 2^8-1)

0x00~0xFF:正数
短整型short2字节16位有符号-2^15 ~ 2^15-1

0x0000~0x7FFF:正数

0x8000~0xFFFF:负数

unsigned short2字节16位无符号0 ~ 2^16-10x0000~0xFFFF:正数
整型(signed) int4字节32位有符号-2^31 ~ 2^31-10x00000000~0x7FFFFFFF:正数
0x80000000~0xFFFFFFFF:负数
unsigned int4字节32位无符号0 ~ 2^32-10x00000000~0xFFFFFFFF:正数
长整型(signed) long32位系统:4字节有符号
64位系统:8字节有符号
-2^31 ~ 2^31-1
-2^63 ~ 2^63-1
……
unsigned long32位系统:4字节有符号
64位系统:8字节有符号
0 ~ 2^32-1
0 ~ 2^64-1
……
单精度
浮点数
float
双精度
浮点数
double

其他:C语言类型修饰符总结

2、C++ 中:

较C语言,C++中新增了bool

布尔型:bool
               
1个字节,占8位,0为假,非0为真。详细说明:C++布尔类型(bool)

其余类型同C语言

3、C# 中:

类型描述范围十六进制
bool8位布尔型Ture或False
char16位Unicode字符型U+0000 ~ U+ffff
sbyte8位有符号整型-2^7 ~ 2^7-10x00~0x7F:正数
0x80~0xFF:负数
byte8位无符号整型0 ~ 2^8-10x00~0xFF:正数
short16位有符号整型-2^15 ~ 2^15-1

0x0000~0x7FFF:正数

0x8000~0xFFFF:负数

ushort16位无符号整型0 ~ 2^16-10x0000~0xFFFF:正数
int32位有符号整型-2^31 ~ 2^31-10x00000000~0x7FFFFFFF:正数
0x80000000~0xFFFFFFFF:负数
uint32位无符号整型0 ~ 2^32-10x00000000~0xFFFFFFFF:正数
long64位有符号整型-2^63 ~ 2^63-1……
ulong64位无符号整型0 ~ 2^64-1……
float32位单精度浮点型最多保留7位小数
double64位双精度浮点型最多保留16位小数
decimal128位精确的十进制值
28-29有效位数

注:C#新增了byte,且char的用法有所变化

4、Java 中

类型描述范围
boolean8位布尔型Ture或False
char16位Unicode字符型
byte8位字节型-2^7 ~ 2^7-1
short16位短整型-2^15 ~ 2^15-1
int32位整型-2^31 ~ 2^31-1
long64位长整型-2^63 ~ 2^63-1
float32位单精度浮点型
double64位双精度浮点型

Java与C#基本数据区别:
1、基本类型分为4种:整型、布尔类型、浮点类型、字符类型,只是C#特别多了个不是基本类型的decimal类型,用于财务计算,精确度很高但很少使用。
2、整型当中,java都是有符号整型,所以仅byte、short、int、long四种类型,占用位数和取值范围两者没区别,C#中多了另外四种无符号整型。值得注意的是,java语言中的byte类型,对应的是C#中的sbyte类型,而不是8位无符号整数byte类型。
3、布尔类型中,Java是用boolean表示,C#是用bool表示。
4、浮点类型都是float和double,只是java中float占用8位,而C#中7位;java中double占用16位,而C#中15位,所以取值范围两个语言中有细微差异。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值