字字节位的关系

1、位(bit)

来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100 是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可 以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)„„。

2、字节(byte)

字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。

字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字 节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。八位二进制数最小为 00000000,最大为11111111;通常1个字节可以存入一个ASCII码,2个字节可以存放 一个汉字国标码。

3、字

计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。一个字通常 由一个或多个(一般是字节的整数位)字节构成。例如286微机的字由2个字节组成,它 的字长为16;486微机的字由4个字节组成,它的字长为32位机。

计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大, 其性能越优越。

另一种说法:

在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称宇。字通常 分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个 字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。宇出现在不问的地址其含 义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字 中二进制位数的长度,称为字长。一个字由若干个字节组成,不同的计算机系统的字长是不 同的,常见的有8位、16位、32位、64位等,字长越长,计算机一次处理的信息位就越 多,精度就越高,字长是计算机性能的一个重要指标。目前主流微机都是32位机。

注意字与字长的区别,字是单位,而字长是指标,指标需要用单位去衡量。正象生活中重量 与公斤的关系,公斤是单位,重量是指标,重量需要用公斤加以衡量。

字长

计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。 固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是 可变的。

计算的字长是指它一次可处理的二进创数字的数目。计算机处理数据的速率,自然和它一次 能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即 使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。 一般地,大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一

16位。字长是衡量计算机性能的一个重要因素。

字节

字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单 位,并作为一个整体来参加操作,比字小,是构成字的单位。

在微型计算机中,通常用多少字节来表示存储器的存储容量。

字块

在信息处理中,一群字作为一个单元来处理的称为“字块”.也称“字组”。例如,储存于滋鼓

的一个磁道上的字群就称为一个字块。在磁带上通常每120个字符就间隔一个字块际志, 也称为一个字块。块与块之间一般留1.27―2.54厘米(1/2一1英寸)的间隔。在大容量存储 中,信息都是以字块为单位而存入的,因此只有字块才是可选址的。目前,在高速绥冲技术 中也引入了“字块”的概念。 祝你好运

8

个位(bit)称为一个字节(byte),两个字节称为一个字(Word),两个自称为一个双字 (dword),两个双字称为一个四字(qword)

位(bit)只能是0,1代码,因为四个二进制数是一个16进制数,所以,两个16进制的基数 表示一个字节。

1、附加几种类型的位(bit)和字节(Byte)的问题(以下的内容均是在MSDN中的Windows Data Types中查找的)

(带有”/”的类型可以在VC中互用)

长度为一个字节(8位)的数据类型)

bool CHAR/char BYTE/byte BOOLEAN/boolean TCHAR

长度为两个字节(16位)的数据类型

short/SHORT WORD 长度为四个字节(32位)的数据类型

CString int/INT(有符号整型) long/LONG(有符号整型) float/FLOAT DWORD BOOL LPCTSTR LPTSTR

长度为八个字节(64位)的数据类型

double/DOUBLE

BOOL

Boolean variable (should be TRUE or FALSE).

This type is declared in WinDef.h as follows:

typedef int BOOL;

BOOLEAN

Boolean variable (should be TRUE or FALSE).

This type is declared in WinNT.h as follows:

typedef BYTE BOOLEAN;

WORD

16-bit unsigned integer.

typedef unsigned short WORD;

DWORD

32-bit unsigned integer. (4个字节)(sizeof())

typedef unsigned long DWORD;

UINT

Unsigned INT.

typedef unsigned int UINT;

HRESULT

用于接口,成功的话返回0,否则是非0数。typedef LONG HRESULT; LPCVOID

Pointer to a constant of any type.

typedef CONST void *LPCVOID;

LPCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. typedef CONST WCHAR *LPCWSTR;

LPVOID

Pointer to any type.

typedef void *LPVOID;

PVOID

Pointer to any type.

typedef void *PVOID;

TCHAR

#ifdef UNICODE

typedef WCHAR TCHAR;

#else

typedef char TCHAR;

#endif

VOID

Any type.

#define VOID void

2、以下几种类型的变量可以直接赋给CString型

char strTmp[255]

char *strTmp

LPCTSTR strTmp BSTR strTmp

LPTSTR strTmp

3、WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。

如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式, TCHAR等价于WCHAR。

4、LPSTR 和 LPCSTR 有什么区别?

答:LPCSTR = const LPSTR

一个是char*,一个是const char*

LPSTR:32-bit指针,指向一个字符串

LPCSTR:32-bit指针,指向一个常数字符串

LPCTSTR:32-bit指针,指向一个常数字符串。此字符串可移植到Unicode和DBCS(双字节 字集)

LPTSTR:32-bit指针,指向一个字符串。此字符串可移植到Unicode和DBCS(双字节字集) LPSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. typedef CHAR *LPSTR;

LPCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. typedef __nullterminated CONST CHAR *LPCSTR;

LPTSTR

#ifdef UNICODE

typedef LPWSTR LPTSTR;

#else

typedef LPSTR LPTSTR;

#endif LPCTSTR

#ifdef UNICODE

typedef LPCWSTR LPCTSTR;

#else

typedef LPCSTR LPCTSTR;

#endif

LPCSTR可以理解成一种命名方法(即匈牙利命名法)

LPCSTR表示为:

L 也许是long

P 也许是point(即*)

C 也许是const

STR也许是说明它是一个字符串。

也即32-指针指向一个字符串常量。

5、字符串的串接

方法一、

CString gray(”Gray”);

CString cat(”Cat”);

CString graycat = gray + cat;

方法二、

char gray[] = “Gray”;

char cat[] = “Cat”;

char *graycat = (LPSTR)malloc(strlen(gray) + strlen(cat) + 1);//malloc返回的是一个void *类型

strcpy(graycat, gray);

strcat(graycat, cat);

CString ss=graycat;

6、_T()的意思

CString s; s.Format(_T(”%d”), total);

对字符串使用_T()宏,这是为了让代码至少有Unicode的意识

bit、byte、位、字节、汉字的关系

; L4 f3 e3 P7 Y- p" d' I9 q, N( i$ |

1 bit = 1 二进制数据- U1 ~3 P/ x& U3 U6 n7 p, S

1 byte = 8 bit

1 字母 = 1 byte = 8 bit% r) y( W `( t) p" |. l" G$ H

1 汉字 = 2 byte = 16 bit

4. 一个汉字占2个字节;

1 汉字 = 2 byte = 16 bit6 h0 @' s- |7 y, D

$ e8 W" B% A- D6 Z) ?/ z

5. 标点符号

A>. 汉字输入状态下,默认为全角输入方式;7 @3 b8 ^" I7 l) b

B>. 英文输入状态下,默认为半角输入方式;

# U; F3 c, a9 h% K2 ^0 p+ e

1. bit:位4 S* E+ l# }* S1 o

一个二进制数据0或1,是1bit; 9 b* j9 m) k+ P: g; A

2. byte:字节8 C1 h: J8 j% I5 l, N

存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;3 U% C' U1 g/ ^/ D

1 byte = 8 bit

3. 一个英文字符占一个字节;" @" f4 g6 b; v9 C4 r$ b

1 字母 = 1 byte = 8 bit$ y7 R2 ?* T, O n C>. 全角输入方式下,标点符号占2字节; D>. 半角输入方式下,标点符号占1字节;4 P2 {9 f$ f8 `% D" D

故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);

英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);& ~" b0 ^ R* x+ J/ g# }9 G5 O 2 i8 I& b0 |' p0 r% h

4 X0 c+ G$ c- G+ s3 _% N

老美在发明电脑时,肯定以自己的英文字母--即他们自认为的字符为最小的存 储计量单位,于是也就有了不规范的1字符=1byte, 岂不知还有我们伟大的汉字计量单 位,NND,一个汉字也是一个字符,我们的1汉字字符就等于2byte,后来,他们可能意识 到这个尴尬的问题,于是又标榜为:一个字母为一个标准字符,去球吧,谁整天没事说个 字符还“标准字符”,所以啊,个人认为:字符,不能用于标准的计量单位。 * N6 D* t* U/ Q4 c4 W

--------------------------------

) e0 s+ V5 y# X7 u$ h* S, k

补充:- ^" w o1 \0 X: h' n. j 计算机对各国语言的支持度,可分为以下三个阶段,如图:

4 T/ d: {* b2 U3 u ' N5 P1 m% S" A. u% q

更详细参考:http://www.regexlab.com/zh/encoding.htm 。

) {+ m$ y/ L% Z' M6 I9 z! ]

B、Bit、Byte他别指的是什么??

+ a4 q6 N7 m! p: a

2008-07-02 13:05( p: @/ W! M" q$ ~) Q6 R bit (binary digit) 位

位是计算机数据中最小单元。位的值只会是0或1。虽然计算机也提供对位的判断和操作, 但是计算机指令一般以字节为单位。在大多数的计算机系统中,八位是一个字节。一位的值通常以存储电容是否带电来衡量。 2 e9 m) l0 j# m+ x2 c, k 半个字节在英语中叫nibble。在一些系统中,octet代表8位,而不用字节;而在另一些系

统中,octets组成32位字,在这些系统中,指令长度以全字(32位)或半字(16位)表示。 2 I9 y/ G# V3 p1 J byte 关键字代表一种整型,该类型按下表所示存储值: 0 N( h A" s1 m; L' q 类型 范围 大小 .NET Framework 类型 byte 0 到 255 无符号 8 位整数 System.Byte $ H# U, S7 k' m+ `, L/ A 文本 可如下例所示声明并初始化 byte 变量:

byte myByte = 255; 在以上声明中,整数 255 从 int 类型隐式转换为 byte 类型。如果整数超出了 byte 类型

的范围,则将发生编译错误。

转换 存在从 byte 类型到 short、ushort、int、uint、long、ulong、float、double 或 decimal

类型的预定义隐式转换。 ( E! N: A6 w+ s! s 不能将存储大小更大的非文字数字类型隐式转换为 byte 类型(请参见整型表中有关整型存

储大小的信息)。例如,请看以下两个 byte 变量 x 和 y:

byte x = 10, y = 20; 以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式默认情况下计算为

int。 ! K7 [' A1 L& K5 O9 C+ g7 m2 I byte z = x + y; // Error: conversion from int to byte 若要解决此问题,请使用强制转换:

byte z = (byte)(x + y); // OK: explicit conversion 但是,在目标变量具有相同或更大的存储大小时,使用下列语句是可能的:

int x = 10, y = 20; int m = x + y; long n = x + y; 同样,不存在浮点型到 byte 类型的隐式转换。例如,除非使用显式强制转换,否则以下语

句将生成一个编译器错误:

byte x = 3.0; // Error: no implicit conversion from double byte y = (byte)3.0; // OK: explicit conversion 调用重载方法时,必须使用显式转换。例如,请看以下使用

byte 和 int 类型参数的重载

方法:

public static void MyMethod(int i) {} public static void MyMethod(byte b) {} 使用 byte 显式转换可保证调用正确的类型,例如: & e% o1 K2 g* z' f9 u% g) p MyMethod(5); // Calling the method with the int parameter MyMethod((byte)5); // Calling the method with the byte parameter

b=bit 表示“位”

B=Byte 表示“字节” / J4 ?) c, T3 W8 I+ V( e

1 Byte=8 bit

一个字节( byte)可以存放八个二进制数字或一个字符(一个汉字占两个字节),1024个 字节称为一个千字节,记为1KB;1024个千字节称为一个兆字节,记为1MB;1024个 兆字节称为一个吉字节,记为1GB。

搜索更多相关主题的帖子: byte

bytebyte

byte bit

bitbit

bit 汉字

汉字汉字

汉字 字节

字节字节

字节 关系

关系关系

关系

字节

字节字节

字节(BYTE)、

、、

、字

字字

字(WORD)和双字

和双字和双字

和双字(DOUBLE WORD),

,,

,或者说是

或者说是或者说是

或者说是8位

位位

位、

、、

、16位和

位和位和

位和32位储

位储位储

位储

存方式

存方式存方式

存方式。

。。

字节也就是

字节也就是字节也就是

字节也就是8位方式能储存

位方式能储存位方式能储存

位方式能储存0~255的数字

的数字的数字

的数字;

;;

字或说是

字或说是字或说是

字或说是16位储存方式能储存

位储存方式能储存位储存方式能储存

位储存方式能储存0~65535的

的的

的数

数数

数;

;;

双字即

双字即双字即

双字即32位方式能储存

位方式能储存位方式能储存

位方式能储存0~4294967295的数

的数的数

的数

一个字节有8位二进制组成,其最高位是第7位,最低位是第0位,在表示有符号数时,最高

位就是符号位。

通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。

由2个字节组成一个字,其最高位是第15位,最低位是第0位。高8位称为高字节,低8位

称为低字节,

字节和字是汇编语言程序中最常用的两种数据类型,也是最容易出错的数据类型

用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字,如右图所示。

双字有较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存

储远指针。

字节、字和双字是汇编语言最常用的三种数据类型,下图表现出它们三者之间的组成关系。

1、位(bit)

来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100 是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可 以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)„„。

2、字节(byte)

字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。

字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字 节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。八位二进制数最小为 00000000,最大为11111111;通常1个字节可以存入一个ASCII码,2个字节可以存放 一个汉字国标码。

3、字

计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。一个字通常 由一个或多个(一般是字节的整数位)字节构成。例如286微机的字由2个字节组成,它 的字长为16;486微机的字由4个字节组成,它的字长为32位机。

计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大, 其性能越优越。

另一种说法:

在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称宇。字通常 分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个 字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。宇出现在不问的地址其含 义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字 中二进制位数的长度,称为字长。一个字由若干个字节组成,不同的计算机系统的字长是不 同的,常见的有8位、16位、32位、64位等,字长越长,计算机一次处理的信息位就越 多,精度就越高,字长是计算机性能的一个重要指标。目前主流微机都是32位机。

注意字与字长的区别,字是单位,而字长是指标,指标需要用单位去衡量。正象生活中重量 与公斤的关系,公斤是单位,重量是指标,重量需要用公斤加以衡量。

字长

计算机的每个字所包含的位数称为字长。根据计算机的不同,字长有固定的和可变的两种。 固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是 可变的。

计算的字长是指它一次可处理的二进创数字的数目。计算机处理数据的速率,自然和它一次 能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即 使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。 一般地,大型计算机的字长为32―64位,小型计算机为12―32位,而微型计算机为4一

16位。字长是衡量计算机性能的一个重要因素。

字节

字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单 位,并作为一个整体来参加操作,比字小,是构成字的单位。

在微型计算机中,通常用多少字节来表示存储器的存储容量。

字块

在信息处理中,一群字作为一个单元来处理的称为“字块”.也称“字组”。例如,储存于滋鼓

的一个磁道上的字群就称为一个字块。在磁带上通常每120个字符就间隔一个字块际志, 也称为一个字块。块与块之间一般留1.27―2.54厘米(1/2一1英寸)的间隔。在大容量存储 中,信息都是以字块为单位而存入的,因此只有字块才是可选址的。目前,在高速绥冲技术 中也引入了“字块”的概念。 祝你好运

8

个位(bit)称为一个字节(byte),两个字节称为一个字(Word),两个自称为一个双字 (dword),两个双字称为一个四字(qword)

位(bit)只能是0,1代码,因为四个二进制数是一个16进制数,所以,两个16进制的基数 表示一个字节。

1、附加几种类型的位(bit)和字节(Byte)的问题(以下的内容均是在MSDN中的Windows Data Types中查找的)

(带有”/”的类型可以在VC中互用)

长度为一个字节(8位)的数据类型)

bool CHAR/char BYTE/byte BOOLEAN/boolean TCHAR

长度为两个字节(16位)的数据类型

short/SHORT WORD 长度为四个字节(32位)的数据类型

CString int/INT(有符号整型) long/LONG(有符号整型) float/FLOAT DWORD BOOL LPCTSTR LPTSTR

长度为八个字节(64位)的数据类型

double/DOUBLE

BOOL

Boolean variable (should be TRUE or FALSE).

This type is declared in WinDef.h as follows:

typedef int BOOL;

BOOLEAN

Boolean variable (should be TRUE or FALSE).

This type is declared in WinNT.h as follows:

typedef BYTE BOOLEAN;

WORD

16-bit unsigned integer.

typedef unsigned short WORD;

DWORD

32-bit unsigned integer. (4个字节)(sizeof())

typedef unsigned long DWORD;

UINT

Unsigned INT.

typedef unsigned int UINT;

HRESULT

用于接口,成功的话返回0,否则是非0数。typedef LONG HRESULT; LPCVOID

Pointer to a constant of any type.

typedef CONST void *LPCVOID;

LPCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. typedef CONST WCHAR *LPCWSTR;

LPVOID

Pointer to any type.

typedef void *LPVOID;

PVOID

Pointer to any type.

typedef void *PVOID;

TCHAR

#ifdef UNICODE

typedef WCHAR TCHAR;

#else

typedef char TCHAR;

#endif

VOID

Any type.

#define VOID void

2、以下几种类型的变量可以直接赋给CString型

char strTmp[255]

char *strTmp

LPCTSTR strTmp BSTR strTmp

LPTSTR strTmp

3、WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。

如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式, TCHAR等价于WCHAR。

4、LPSTR 和 LPCSTR 有什么区别?

答:LPCSTR = const LPSTR

一个是char*,一个是const char*

LPSTR:32-bit指针,指向一个字符串

LPCSTR:32-bit指针,指向一个常数字符串

LPCTSTR:32-bit指针,指向一个常数字符串。此字符串可移植到Unicode和DBCS(双字节 字集)

LPTSTR:32-bit指针,指向一个字符串。此字符串可移植到Unicode和DBCS(双字节字集) LPSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. typedef CHAR *LPSTR;

LPCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. typedef __nullterminated CONST CHAR *LPCSTR;

LPTSTR

#ifdef UNICODE

typedef LPWSTR LPTSTR;

#else

typedef LPSTR LPTSTR;

#endif LPCTSTR

#ifdef UNICODE

typedef LPCWSTR LPCTSTR;

#else

typedef LPCSTR LPCTSTR;

#endif

LPCSTR可以理解成一种命名方法(即匈牙利命名法)

LPCSTR表示为:

L 也许是long

P 也许是point(即*)

C 也许是const

STR也许是说明它是一个字符串。

也即32-指针指向一个字符串常量。

5、字符串的串接

方法一、

CString gray(”Gray”);

CString cat(”Cat”);

CString graycat = gray + cat;

方法二、

char gray[] = “Gray”;

char cat[] = “Cat”;

char *graycat = (LPSTR)malloc(strlen(gray) + strlen(cat) + 1);//malloc返回的是一个void *类型

strcpy(graycat, gray);

strcat(graycat, cat);

CString ss=graycat;

6、_T()的意思

CString s; s.Format(_T(”%d”), total);

对字符串使用_T()宏,这是为了让代码至少有Unicode的意识

bit、byte、位、字节、汉字的关系

; L4 f3 e3 P7 Y- p" d' I9 q, N( i$ |

1 bit = 1 二进制数据- U1 ~3 P/ x& U3 U6 n7 p, S

1 byte = 8 bit

1 字母 = 1 byte = 8 bit% r) y( W `( t) p" |. l" G$ H

1 汉字 = 2 byte = 16 bit

4. 一个汉字占2个字节;

1 汉字 = 2 byte = 16 bit6 h0 @' s- |7 y, D

$ e8 W" B% A- D6 Z) ?/ z

5. 标点符号

A>. 汉字输入状态下,默认为全角输入方式;7 @3 b8 ^" I7 l) b

B>. 英文输入状态下,默认为半角输入方式;

# U; F3 c, a9 h% K2 ^0 p+ e

1. bit:位4 S* E+ l# }* S1 o

一个二进制数据0或1,是1bit; 9 b* j9 m) k+ P: g; A

2. byte:字节8 C1 h: J8 j% I5 l, N

存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;3 U% C' U1 g/ ^/ D

1 byte = 8 bit

3. 一个英文字符占一个字节;" @" f4 g6 b; v9 C4 r$ b

1 字母 = 1 byte = 8 bit$ y7 R2 ?* T, O n C>. 全角输入方式下,标点符号占2字节; D>. 半角输入方式下,标点符号占1字节;4 P2 {9 f$ f8 `% D" D

故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);

英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);& ~" b0 ^ R* x+ J/ g# }9 G5 O 2 i8 I& b0 |' p0 r% h

4 X0 c+ G$ c- G+ s3 _% N

老美在发明电脑时,肯定以自己的英文字母--即他们自认为的字符为最小的存 储计量单位,于是也就有了不规范的1字符=1byte, 岂不知还有我们伟大的汉字计量单 位,NND,一个汉字也是一个字符,我们的1汉字字符就等于2byte,后来,他们可能意识 到这个尴尬的问题,于是又标榜为:一个字母为一个标准字符,去球吧,谁整天没事说个 字符还“标准字符”,所以啊,个人认为:字符,不能用于标准的计量单位。 * N6 D* t* U/ Q4 c4 W

--------------------------------

) e0 s+ V5 y# X7 u$ h* S, k

补充:- ^" w o1 \0 X: h' n. j 计算机对各国语言的支持度,可分为以下三个阶段,如图:

4 T/ d: {* b2 U3 u ' N5 P1 m% S" A. u% q

更详细参考:http://www.regexlab.com/zh/encoding.htm 。

) {+ m$ y/ L% Z' M6 I9 z! ]

B、Bit、Byte他别指的是什么??

+ a4 q6 N7 m! p: a

2008-07-02 13:05( p: @/ W! M" q$ ~) Q6 R bit (binary digit) 位

位是计算机数据中最小单元。位的值只会是0或1。虽然计算机也提供对位的判断和操作, 但是计算机指令一般以字节为单位。在大多数的计算机系统中,八位是一个字节。一位的值通常以存储电容是否带电来衡量。 2 e9 m) l0 j# m+ x2 c, k 半个字节在英语中叫nibble。在一些系统中,octet代表8位,而不用字节;而在另一些系

统中,octets组成32位字,在这些系统中,指令长度以全字(32位)或半字(16位)表示。 2 I9 y/ G# V3 p1 J byte 关键字代表一种整型,该类型按下表所示存储值: 0 N( h A" s1 m; L' q 类型 范围 大小 .NET Framework 类型 byte 0 到 255 无符号 8 位整数 System.Byte $ H# U, S7 k' m+ `, L/ A 文本 可如下例所示声明并初始化 byte 变量:

byte myByte = 255; 在以上声明中,整数 255 从 int 类型隐式转换为 byte 类型。如果整数超出了 byte 类型

的范围,则将发生编译错误。

转换 存在从 byte 类型到 short、ushort、int、uint、long、ulong、float、double 或 decimal

类型的预定义隐式转换。 ( E! N: A6 w+ s! s 不能将存储大小更大的非文字数字类型隐式转换为 byte 类型(请参见整型表中有关整型存

储大小的信息)。例如,请看以下两个 byte 变量 x 和 y:

byte x = 10, y = 20; 以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式默认情况下计算为

int。 ! K7 [' A1 L& K5 O9 C+ g7 m2 I byte z = x + y; // Error: conversion from int to byte 若要解决此问题,请使用强制转换:

byte z = (byte)(x + y); // OK: explicit conversion 但是,在目标变量具有相同或更大的存储大小时,使用下列语句是可能的:

int x = 10, y = 20; int m = x + y; long n = x + y; 同样,不存在浮点型到 byte 类型的隐式转换。例如,除非使用显式强制转换,否则以下语

句将生成一个编译器错误:

byte x = 3.0; // Error: no implicit conversion from double byte y = (byte)3.0; // OK: explicit conversion 调用重载方法时,必须使用显式转换。例如,请看以下使用

byte 和 int 类型参数的重载

方法:

public static void MyMethod(int i) {} public static void MyMethod(byte b) {} 使用 byte 显式转换可保证调用正确的类型,例如: & e% o1 K2 g* z' f9 u% g) p MyMethod(5); // Calling the method with the int parameter MyMethod((byte)5); // Calling the method with the byte parameter

b=bit 表示“位”

B=Byte 表示“字节” / J4 ?) c, T3 W8 I+ V( e

1 Byte=8 bit

一个字节( byte)可以存放八个二进制数字或一个字符(一个汉字占两个字节),1024个 字节称为一个千字节,记为1KB;1024个千字节称为一个兆字节,记为1MB;1024个 兆字节称为一个吉字节,记为1GB。

搜索更多相关主题的帖子: byte

bytebyte

byte bit

bitbit

bit 汉字

汉字汉字

汉字 字节

字节字节

字节 关系

关系关系

关系

字节

字节字节

字节(BYTE)、

、、

、字

字字

字(WORD)和双字

和双字和双字

和双字(DOUBLE WORD),

,,

,或者说是

或者说是或者说是

或者说是8位

位位

位、

、、

、16位和

位和位和

位和32位储

位储位储

位储

存方式

存方式存方式

存方式。

。。

字节也就是

字节也就是字节也就是

字节也就是8位方式能储存

位方式能储存位方式能储存

位方式能储存0~255的数字

的数字的数字

的数字;

;;

字或说是

字或说是字或说是

字或说是16位储存方式能储存

位储存方式能储存位储存方式能储存

位储存方式能储存0~65535的

的的

的数

数数

数;

;;

双字即

双字即双字即

双字即32位方式能储存

位方式能储存位方式能储存

位方式能储存0~4294967295的数

的数的数

的数

一个字节有8位二进制组成,其最高位是第7位,最低位是第0位,在表示有符号数时,最高

位就是符号位。

通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。

由2个字节组成一个字,其最高位是第15位,最低位是第0位。高8位称为高字节,低8位

称为低字节,

字节和字是汇编语言程序中最常用的两种数据类型,也是最容易出错的数据类型

用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字,如右图所示。

双字有较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存

储远指针。

字节、字和双字是汇编语言最常用的三种数据类型,下图表现出它们三者之间的组成关系。


相关文章

  • 汉字代码转换办法简述
  • 一.前言 汉字库中某一类汉字不是所有已汉化软件系统都能支持的,即使支持也不是全部输入法都能够输入,而这类汉字在地名和人名中经常见到,例如:西安浐河区.镕.詠等,如果涉及到多个代码集之间的 转换,则让系统设计者和系统用户颇感困惑. 笔者通过检 ...查看


  • 汉字编码关系
  • 输入码.区位码.国标码与机内码 我们知道,键盘是当前微机的主要输入设备,输入码就是使用英文键盘输入汉字时的编码.目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码.音码.形码.音形码四类, ...查看


  • 模拟器和汇编程序
  • 模拟器和汇编程序(Simulator and Assembler) 本题目在美国CMU 大学的C 语言作业<Simulator and Assembler >基础上进行了修改和完善,将简单计算机的指令由16条扩充到32条,另外设 ...查看


  • 电脑入门基础知识 1
  • 电脑入门基础知识:二进制.Bit.Byte 及其它 一.十进制: 人类生来十指,最初用手指计数.故,单一的数可以表示0-9,共十个.遇到大于等于10的数值,则需进位.例:15是两位数,表示15=10+5=1×10^1+5×10^0.这里的1 ...查看


  • 字,字节,字长,位区别与联系
  • 位.字节和字 位(Bit)::在计算机中,数据的最小单位是位,表示一个二进制数码0或1 字节(Byte) :8个二进制位构成1个字节(B),1个字节可以储存1个英文字母或半个汉字.字节是存储空间的基本计量单位,计算机杨的内存和磁盘的容量都是 ...查看


  • 电脑上网流量单位换算
  • 电脑上网流量单位换算 1.本地电脑上的字节单位(基础知识篇,可略过): 字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节(byte)等于8位(bit)二进制. 一个二进制数字序列,在计算机中作为一个数字单元,称为字节( ...查看


  • JPEG压缩编码标准
  • 第9章 图象的压缩编码,JPEG压缩编码标准 在介绍图象的压缩编码之前,先考虑一个问题:为什么要压缩?其实这个问题不用我回答,你也能想得到.因为图象信息的数据量实在是太惊人了.举一个例子就明白:一张A4(210mm×297mm) 幅面的照片 ...查看


  • 存储单位和传输中的速率单位
  • 存储单位和传输中的速率单位 bit是表示信息的最小单位,叫做二进制位,音译为比特:用小写的"b"代表"bit",一般用0和1表示.Byte叫做字节,音译为拜特,用大写的"B"代表& ...查看


  • 字节和字长的区别
  • 字,字节,字长的概念 位(bit):二进制数的长度单位,代表1个二进制数位,其值为0或1.比如10011001就是8位二进制数 . 理解的几点 1. 这个bit就是网速的基本计量单位bps里的b,bps的意思是bits per Second ...查看


热门内容