int和int32的区别_int float double char区别

int和int32的区别_int float double char区别Java中没有Int32,Int64,,只有int,short,longJava中int就代表Int32,short就代表Int16,long就代表Int64首先,几个基本的关键字:Int16=short,占2个字节.-32768~32767Int32=int,占4个字节.-2147483648~2147483647Int64=long,占8个字…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java中没有Int32,Int64,,只有int,short,long

Java中int就代表Int32 ,short就代表Int16,long就代表Int64

首先,几个基本的关键字:

Int16 = short, 占2个字节. -32768 ~ 32767

Int32 = int, 占4个字节. -2147483648 ~ 2147483647

Int64 = long, 占8个字节. -9223372036854775808 ~ 9223372036854775807

 

这样, 看起来比short,int,long更加直观些

MSDN中说int就是Int32的别名,是等价的,short,long同理也是别名

 

详解Int32

为什么Int32 就等于 int, 很简单,在VS中写 int a=1;  选中a , F12转到定义就是System.Int32.

 

Int32就是代表一共能存储2^32次方,一共有42,9496,7296个数

从-21,4748,3648 到 +21,4748,3647 为止,为什么正数比负数小一个数,因为0占了一个数

所以Int32的最大数并不是42,9496,7296,而是(2^31)-1=+21,4748,3647,为什么是31次方,因为是有符号整型,最高位要空出来判断是不是负数,所以是31次方,-1是因为0占了一个数。

但是一共还是能存储2^32次方 既42,9496,7296个数,因为有正负数,其实一样的,还是2的32次方个数

如图:

int和int32的区别_int float double char区别

所以Int16和Int64也是同理的。只不过是把2^32换成2^16或者2^64而已….

 

无符号整形Uint32

上面说的都是有符号整数,既signed integer, 就是可以储存正负数的,而无符号整数就是只能存储正数,既unsigned integer

在C#中用Uint16,UInt32,Uint64等表示

跟上面同理

ushort =UInt16 

uint =UInt32   ,0 ~ 4364967295

ulong =UInt64

 

UInt32和Int32一样 ,也是代表一共能存储2^32次方,一共有42,9496,7296个数

但是因为只有正数和0,所以最大值为4364967295, 既2^32-1,-1是因为0占了一个数

int和int32的区别_int float double char区别

 

溢出会如何

更进一步,尝试Int32 a=Int32.MaxValue+1 , 会不会报错?

答案是不会,至少在VS中不会,编译器会自动把a赋值成-21,4748,3648,既最小数值,若加2,则为-21,4748,3647,依次递加。。。

同理,UInt32 a=UInt32.MaxValue+1 ,a就是0,既,若+2,a=1,依次递加。。。

 

参考:

https://www.cnblogs.com/EEEE1/p/8098876.html

https://www.cnblogs.com/raytheweak/p/7290617.html

 

未完待续。。。。。 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170532.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shell编程入门_unix编程

    shell编程入门_unix编程1.Shell的概念shell是一个命令行解释器,它为客户提供了一个Linux内核发送请求一边运行程序界面系统级程序,用汉语可以通过shell启动、挂起、停止甚至编写一些程序。shell还是一个功能强大的编程语言,易于编辑,易于调试,灵活性强,shell是结识知识性的脚本语言,在我们shell中直接调用Linux的系统命令操作即可。2.Shell的分类(1)BourneShell(bshell)从1979年在unix系统就开始使用了。它的主要…

    2022年10月31日
  • 说一下CAS锁机制?「建议收藏」

    1.CAS(CompareandSwap比较并交换),是一种无锁算法,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会挂起,而是被告知这次竞争中失败,并可以再次尝试。2.CAS算法涉及到三个操作数a.需要读写的内存位置(V)b.进行比较的预期原值(A)c.拟写入的新值(B)3.如果内存位置V的值与预期原值A相匹配,那么处理器会自动将该位置值更新为新值B,否则处理器不做任何操作。java多线程总结篇4——锁机制…

    2022年4月17日
  • Spark pyspark rdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍

    Spark pyspark rdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍Sparkpysparkrdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍union用于组合两个rdd的元素,join用于内连接,而后三个函数(leftOuterJoin,rightOuterJoin,fullOuterJoin)用于类似于SQL的左、右、全连接。针对key-value形式的RDD。例子:1)数据初始化>&g…

    2022年10月27日
  • linux 如何配置IP地址

    linux 如何配置IP地址linux如何配置IP地址首先需要先进入里面,命令如下然后在配置操作:然后在保存退出即可:

    2022年6月7日
  • 小数和二进制的转换_进制转换表

    小数和二进制的转换_进制转换表1.小数用二进制如何表示首先,给出一个任意实数,整数部分用普通的二进制便可以表示,这里只说小数部分如何表示例如0.6文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。特殊情况:小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表

    2022年10月31日
  • linux对文本内容数字进行排序

    linux对文本内容数字进行排序

    2021年5月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号