C#中位、字节等知识

本文介绍C#中位、字节等知识。

1. 位(bit)

位(bit)有叫做比特,指二进制中的一位,是二进制的最小信息单位。
bit也被称作小b,用b表示。

2. 字节(bytes)

8位表示一个字节。
由以下公式可以算出一个字节最多表示256

28=25628=256

但实际上不会是256,8个字节最多表示:

111111

这个值是

27+26+25+24+23+22+21+1=25527+26+25+24+23+22+21+1=255

这也说明了以下内容:

byte.MaxValue == 255;

还需要注意的是,byte是无符号的,因此byte的范围是从0-255

这个byte也被称做大B,用B表示。

这个byte也是C#里面的byte。

3. KB和kb

上面说了B和b,再插一句KB和kb的区别。
Modem和访问Internet的其他设备的传输速率通常是以“Kbps”(千比特/秒)来计量,而其他的数据传输速率,诸如IDE或SCSI总线的传输速率,则通常以“KBps”(千字节/秒)或“MBps”(兆字节/秒)为单位。
这两个是不一样的。
因为8位表示一个字节,所以可以理解

B=8bB=8b

再我们安装宽带的时候,说10M,指的是10mb,实际上的带宽是:

10mb/8=1.25MB10mb/8=1.25MB

4.sbyte

sbyte不同于byte的地方在于,sbyte是有符号的,也就是说,sbyte能表示负数。其最高位是符号位,所以sbyte只有7位能表示数值。
其最小值应该是:

−128−128

其最大值应该是:

26+25+24+23+22+21+1=12726+25+24+23+22+21+1=127

关于为什么是-128而不是127,这篇文章讲解的很详细,都是补码、反码那套知识。

5.short ushort int uint long ulong

short

short是16位的有符号整数,也就是2字节的整数。
因为short有符号位,所以只有15位表示数值。其范围应该是

−32768−−32767−32768−−32767

其他与short道理相同,不解释。

6. char

char占用几个字节呢?
在C#里面采用unicode,2个字节(16位)来表示一个字符。

时间: 2024-10-10 17:30:12

C#中位、字节等知识的相关文章

计算机中位(bit), 字节(byte), 字(word)的关系

1.位(bit) 来自英文bit,音译为“比特”,表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示00.01.10.11四种(22)状态:三位二进制数可表示八种状态(23)……. 2.字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示. 字节是计算机中数据处理的基本单位.计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1B

Java中的字节和字符

最近在看Java中的IO相关知识,发现对字节和字符的理解还不够.写篇总结记录一下. 一.字节 所谓字节(Byte),是计算机数据存储的一种计量单位.一个二进制位称为比特(bit),8个比特组成一个字节,也就是说一个字节可以用于区分256个整数(0~255).由此我们可以知道,字节本是面向计算机数据存储及传输的基本单位,后续的字符也就是以字节为单位存储的,不同编码的字符占用的字节数不同. 那么在Java中,除了存储的意义外,Java还将字节Byte作为一种基本数据类型,该数据类型在内存中占用一个字

ASP.NET中的C#基础知识

ASP.NET中的C#基础知识 说明:asp.net作为一种开发框架现在已经广为应用,其开发的基础除了前端的html.css.JavaScript等后端最重要的语言支持还是C#,下面将主要用到的基础知识做一个总结,方面后面的学习. 一.C#是一种面向对象的变成语言,主要用于开发可以在.net平台上运行的应用程序.是一种强类型语言,一次每个变量都必须具有声明类型.C#中有两种数据类型:值类型和引用类型.(其中值类型用于存储值,引用类型用于存储实际数据的引用). 1.值类型 值类型表示实际的数据,存

java中的字节缓冲区ByteBuffer

一.概述:字节缓冲区 类结构: java.lang.Object java.nio.Buffer java.nio.ByteBuffer 类声明: public abstract class ByteBuffer extends Buffer implements Comparable<ByteBuffer> 此类针对字节缓冲区定义了以下六类操作: 读写单个字节的绝对和相对 get 和 put 方法: 将此缓冲区的连续字节序列传输到数组中的相对批量 get 方法: 将 byte 数组或其他字节

字/位/字节/字长

1.位(bit) 来自英文bit,音译为“比特”,表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示00.01.10.11四种(22)状态:三位二进制数可表示八种状态(23)…….   2.字节(byte)    字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示.  字节是计算机中数据处理的基本单位.计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8

C语言中的字节对齐以及其相关处理

首先,我们来了解下一些基本原理: 一.什么是字节对齐一个基本类型的变量在内存中占用n个字节,则该变量的起始地址必须能够被n整除,即: 存放起始地址 % n = 0,那么,就成该变量是字节对齐的;对于结构体.联合体而言,这个n取其所有基本类型的成员中占用空间字节数最大的那个;内存空间是以字节为基本单位进行划分的,从理论上讲,似乎对任何类型的变量的访问都可以从任何地址处开始,但实际情况是在访问特定类型变量的时候经常是从特定的内存地址处开始访问,这就需要各种类型的数据只能按照一定的规则在空间上排列,而

沟通是项目管理知识体系中的九大知识领域之一

项目管理要素有:范围.时间.成本.质量.人力.风险.采购.沟通.在项目管理中,沟通是一个软指标,其所起的作用不好量化,沟通对项目的影响往往也是隐形的.项目沟通管理是现代项目管理知识体系中的九大知识领域之一,项目沟通管理在成功所必须的因素-人.想法和信息之间提供了一个关键性连接. 沟通对项目的成功,尤其是IT项目的成功非常重要.本文就围绕沟通的重要意义.项目干系人.沟通对效率的影响.沟通的关键要素这几方面展开一些探讨,最后结合高职外语教学.综合测评平台项目,对沟通在小组软件开发过程中的应用进行案例

Java中String的基础知识

Java中String的基础知识 ==与equal的区别 基本数据类型,指的是java中的八种基本数据结构(byte,short,char,int,long,float,double,boolean),一般的比较是使用的 ==,比较的是他们的值. 复合数据类型(类) ==比较的是两个对象的引用,可以理解为在内存中的地址,除非是同一个new出来的对象,他们的 ==为true,否则,都为false. equal是object中的方法.object中的实现如下,内部还是使用==实现,也就是说,如果一个

Golang中的字节序列化操作

在写网络程序的时候,我们经常需要将结构体或者整数等数据类型序列化成二进制的buffer串.或者从一个buffer中解析出来一个结构体出来,最典型的就是在协议的header部分表征head length 或者body length在拼包和拆包的过程中,需要按照规定的整数类型进行解析,且涉及到大小端序的问题. 1.C中是怎么操作的 在C中我们最简单的方法是用memcpy来一个整形数或者结构体等其他类型复制到一块内存中,然后在强转回需要的类型.如:     // produce     int a =