c#中的整形类型
一、整型类型
C#中定义了8中整数类型:字节型(byte)、无符号字节型(ubyte)、短整型(short)、无符号短整型(ushort)、整型(int)、无 符号整型(uint)、长整型(long)、无符号长整型(ulong)。划分依据是该类型的变量在内存中所占的位数。
C#中每个整数类型都对应于.NET类库中定义的一个结构,这些结构在程序集System中定义。上述结构均提供两个基本属性:MinValue和MaxValue,分别表示类型的最小值和最大值。
| 数据类型 | 说明 | 取值范围 | 对应于System程序集中的结构 |
| sbyte | 有符号8位整数 | -128~127 | SByte |
| byte | 无符号8位整数 | 0~255 | Byte |
| short | 有符号16位整数 | -32768~32767 | Int16 |
| ushort | 无符号16位整数 | 0~65535 | UInt16 |
| int | 有符号32位整数 | -2147483648-2147483647 | Int32 |
| uint | 无符号32位整数 | 0~4294967295 | UInt32 |
| long | 有符号64位整数 | -9223372036854775808~9223372036854775807 | Int64 |
| ulong | 无符号64位整数 | 0~18446744073709551615 | UInt64 |
整数取值范围代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace IntegerRange
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("整数类型的取值范围:");
// sbyte
Console.Write("SByte:\t");
Console.Write(SByte.MinValue);
Console.Write("~");
Console.WriteLine(SByte.MaxValue); // byte
Console.Write("Byte:\t");
Console.Write(Byte.MinValue);
Console.Write("~");
Console.WriteLine(Byte.MaxValue); // short
Console.Write("Int16:\t");
Console.Write(Int16.MinValue);
Console.Write("~");
Console.WriteLine(Int16.MaxValue); // ushort
Console.Write("UInt16:\t");
Console.Write(UInt16.MinValue);
Console.Write("~");
Console.WriteLine(UInt16.MaxValue); // int
Console.Write("Int32:\t");
Console.Write(Int32.MinValue);
Console.Write("~");
Console.WriteLine(Int32.MaxValue); // uint
Console.Write("UInt32:\t");
Console.Write(UInt32.MinValue);
Console.Write("~");
Console.WriteLine(UInt32.MaxValue); // long
Console.Write("Int64:\t");
Console.Write(Int64.MinValue);
Console.Write("~");
Console.WriteLine(Int64.MaxValue); // ulong
Console.Write("UInt64:\t");
Console.Write(UInt64.MinValue);
Console.Write("~");
Console.WriteLine(UInt64.MaxValue); Console.WriteLine();
}
}
}

执行结果:

整数类型的取值范围:
SByte: -128~127
Byte: 0~255
Int16: -32768~32767
UInt16: 0~65535
Int32: -2147483648~2147483647
UInt32: 0~4294967295
Int64: -9223372036854775808~9223372036854775807
UInt64: 0~18446744073709551615 请按任意键继续. . .

如果类型取值超出了取值范围,程序在运行时就会发生溢出。
Byte溢出代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace IntegrateOverflow
{
class Program
{
static void Main(string[] args)
{
byte b = 100;
b = (byte)(b + 200); // 溢出 Console.WriteLine(b);
}
}
}

执行结果:
44
请按任意键继续. . .
二、源代码
感谢分享, 这个类型所占的数字范围 在其他编程语言里面似乎也是相似或者通用的
c#中的整形类型的更多相关文章
- 浅析C语言中的整形类型
在C语言中,可以把 字符型.短整形.整形.长整形都看作是整形,同属于整形家族这个大类型. 这些类型的大小,默认是否有符号等一些知识点较零散,较容易混淆,所以特地整理如下. 一 类型存储字节长度说明 ...
- java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量?
java程序中默认整形值常量是什么类型的?如何区分不同类型的整型数值常量? 整数值默认就是int类型,只有在数值常量后面加“L”或“l”才表明该常量是long型
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- Java中的枚举类型详解
枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...
- object-c中的BOOL类型
object-c中的布尔类型比C语言中的bool类型早了10年,它具有YES和NO两种值.在object-c中的布尔类型BOOL实际上是一种带符号的字符类型(signed char),它使用的空间是1 ...
- Mysql中的一些类型
列类型--整数类型Tinyint:迷你整形 一个字节=8位 最大能表示的数值是0-255 实际区间 -128~127Smallint:小整形 两个字节 能表示0-65535Mediumint:中整型 ...
- Entity Framework 教程——Entity Framework中的实体类型
Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. ...
- 向mysql中插入Date类型的数据
先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)
说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...
随机推荐
- Ajax 整理总结(入门)
Ajax 学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6.表单序列化 ...
- 有n个台阶,如果一次只能上1个或2个台阶,求一共有多少种上法
// n级台阶,求多少种跳法.cpp : Defines the entry point for the console application. // /* 思路: 如果只有一级台阶,n=1,很明显 ...
- Java程序猿学习C++之字符串
#include <iostream> #include <string.h> using namespace std; int my_len(const char *str) ...
- JavaScript-每隔5分钟执行一次ajax请求的实现方法
个页面好像只能有一个 window.onload=function(){},所以要有多个事件,这样写就好了 window.onload=function(){ //假设这里每个五分钟执行一次test函 ...
- GO的跨平台数扰类型
基本数据类型的包装: 1.跨平台,用于移植 2.不同的框架类型包装的类型(MFC ,WIN32SDK,C) 3.基本数据类型的组装成的结构体 4.宏定义 数字类型 Go 也有基于架构的类型,例如:in ...
- PureMVC(JS版)源码解析(一):观察者模式解析
假设一种情景,在程序开发中,我们需要在某些数据变化时,其他的类做出相应,例如在游戏中,升级一件装备,会触发玩家金币数量改变,背包数据改变和冷却队列数据改变等等.我们不可能设置setInte ...
- windows 进程间通讯方法
Windows平台为我们提供了多种进程间通信的机制,主要包括:注册表方式.共享文件方式.共享内存方式.共享数据段.映射文件方式.管道方式. 剪贴板方式.消息方式.其中注册表方式需要增加注册表表项,而注 ...
- Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例
1. 需求:把D:\\美女.jpg 复制到当前项目目录下mn.jpg 代码示例: package com.himi.filecopy; import java.io.FileInputStream; ...
- Hadoop书籍汇总
<Hadoop实战>陆嘉恒 <Hadoop - The Definitive Guide>Tom White,中文版<Hadoop权威指南> <Hadoop技 ...
- js常用笔记
此文仅为笔记,代码来源自网络 网络技术文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.使用||和&&简化语句, ...