C# 中int short Int16 Int32 Int64详解
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次方个数
如图:
所以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占了一个数
溢出会如何
更进一步,尝试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
未完待续。。。。。
C# 中int short Int16 Int32 Int64详解相关推荐
- C#中int short Int16 Int32 Int64区别
Java中没有Int32,Int64,,java中只有int,short,long Java中int就代表Int32 ,short就代表Int16,long就代表Int64 首先,几个基本的关键字: ...
- Golang中int, int8, int16, int32, int64和uint区别
Golang中int, int8, int16, int32, int64和uint区别 前言 测试 结果 结论 总结 前言 在学习go语言时,做算法题会很经常遇到go语言的各种int类型,为什么会有 ...
- Golang中 int int8 int16 int32 int64的区别和取值范围
先说结论吧,方便快速查询验证. 总结 区别 int 类型大小为 8 字节 int8 类型大小为 1 字节 int16 类型大小为 2 字节 int32 类型大小为 4 字节 int64 类型大小为 8 ...
- Golang中int, int8, int16, int32, int64区别
猫哥写Golang过程中,遇到整数常用int,因为可以少打至少一个字符. T_T 一直没有意识到其实各个int还是有区别的,起码是内存空间上的区别. 一段简单粗暴的程序,描述一下区别: package ...
- golang中int int8 int16 int32 int64 uint8 uint16 uint32 uint64 占用字节和取值范围
================================ go grpc-go 相关技术专栏 总入口 go语言基础知识总结.整理.收藏 ========================== ...
- java integer == int_Java中int和Integer的区别详解
1.Java 中的数据类型分为基本数据类型和复杂数据类型 int是前者>>integer 是后者(也就是一个类) 2.初始化时>> int i =1; Integer i= n ...
- Golang中uint、int, int8, int16, int32, int64区别
Golang各种数值占据的大小 int类型的大小为 8 字节 int8类型大小为 1 字节 int16类型大小为 2 字节 int32类型大小为 4 字节 int64类型大小为 8 字节 ====== ...
- Golang: int, int8, int16, int32, int64 和 uint 区别
测试 unsafe.Sizeof() 只返回数据类型的大小,不管引用数据的大小,单位为Byte package mainimport ("fmt""unsafe" ...
- java int byte数组_Java 中int与byte数组转换详解
1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...
最新文章
- Android发布项目到外部仓库
- nagios 使用MSN 发报警消息
- 数据结构——快速排序
- C# Json 序列化与反序列化二
- Java实现C语言select函数_一道面试题目,分别用sql 和java,c++, c语言实现,
- android点击地址调用地图,Android 实现点击按钮 调用手机外部地图导航
- Java基础---“方法”题目练习
- Google Go 初识
- [leetcode]1185. 一周中的第几天
- 微软VC/MFC FAQ(转)
- Scala 编程---类和对象
- Flutter 入门安装——C#程序喵的Flutter之旅
- php的laravel框架下载,Laravel(PHP开发框架)官方下载 5.4稳定版_Win10镜像官网
- [转载]AutoCAD2013 以上利用AccoreConsole+ c# NetApi 批量处理图纸
- win10忘记账户密码完美解决方案
- 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 【已解决】由于此设备上的安全设置已更改,你的pin不再可用,单击以重新设置Pin
- 淘宝前端工程师:国内WEB前端开发十日谈
- 网络IO和磁盘IO详解
- linux 加固检测脚本,Linux系统检测和防护脚本
热门文章
- 杭电计算机学院教师待遇,杭电:职称改革让教师有了更多获得感
- 嫦娥五号轨道器成为我国首颗进入日地L1点周期轨道航天器并开展拓展试验
- 基于 dpdk-nginx 的 c1000k 并发研发
- 如何使用浏览器开发者工具?
- 肯德基必须对“垃圾事件”做出答复!
- 股票程序化交易如何把交易分析简单化?
- 马斯克呼吁重返办公室,直言:“做不到,就视为离职”
- 【无人船】基于模型预测控制(MPC)对USV进行自主控制(Matlab代码实现)
- 哈希树(HashTree)
- iOS使用TestFlight测试流程