字和字节和位的关系.docx
- 文档编号:29511148
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:11
- 大小:23.90KB
字和字节和位的关系.docx
《字和字节和位的关系.docx》由会员分享,可在线阅读,更多相关《字和字节和位的关系.docx(11页珍藏版)》请在冰豆网上搜索。
字和字节和位的关系
1、位(bit)
来自英文bit,音译为“比特”,表示二进制位。
位是计算机内部数据储存的最小单位,是一个8位二进制数。
一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。
2、字节(byte)
字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示.
字节是计算机中数据处理的基本单位。
计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。
八位二进制数最小为00000000,最大为;通常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中的WindowsDataTypes中查找的)
(带有”/”的类型可以在VC中互用)
长度为一个字节(8位)的数据类型)
boolCHAR/charBYTE/byteBOOLEAN/booleanTCHAR
长度为两个字节(16位)的数据类型
short/SHORTWORD
长度为四个字节(32位)的数据类型
CStringint/INT(有符号整型)long/LONG(有符号整型)float/FLOATDWORDBOOL
LPCTSTRLPTSTR
长度为八个字节(64位)的数据类型
double/DOUBLE
BOOL
Booleanvariable(shouldbeTRUEorFALSE)。
ThistypeisdeclaredinWinDef.hasfollows:
typedefintBOOL;
BOOLEAN
Booleanvariable(shouldbeTRUEorFALSE)。
ThistypeisdeclaredinWinNT。
hasfollows:
typedefBYTEBOOLEAN;
WORD
16—bitunsignedinteger。
typedefunsignedshortWORD;
DWORD
32—bitunsignedinteger。
(4个字节)(sizeof())
typedefunsignedlongDWORD;
UINT
UnsignedINT.
typedefunsignedintUINT;
HRESULT
用于接口,成功的话返回0,否则是非0数。
typedefLONGHRESULT;
LPCVOID
Pointertoaconstantofanytype。
typedefCONSTvoid*LPCVOID;
LPCWSTR
Pointertoaconstantnull—terminatedstringof16—bitUnicodecharacters。
typedefCONSTWCHAR*LPCWSTR;
LPVOID
Pointertoanytype。
typedefvoid*LPVOID;
PVOID
Pointertoanytype。
typedefvoid*PVOID;
TCHAR
#ifdefUNICODE
typedefWCHARTCHAR;
#else
typedefcharTCHAR;
#endif
VOID
Anytype。
#defineVOIDvoid
2、以下几种类型的变量可以直接赋给CString型
charstrTmp[255]
char*strTmp
LPCTSTRstrTmp
BSTRstrTmp
LPTSTRstrTmp
3、WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。
如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,
TCHAR等价于WCHAR。
4、LPSTR和LPCSTR有什么区别?
答:
LPCSTR=constLPSTR
一个是char*,一个是constchar*
LPSTR:
32—bit指针,指向一个字符串
LPCSTR:
32—bit指针,指向一个常数字符串
LPCTSTR:
32-bit指针,指向一个常数字符串。
此字符串可移植到Unicode和DBCS(双字节字集)
LPTSTR:
32—bit指针,指向一个字符串。
此字符串可移植到Unicode和DBCS(双字节字集)
LPSTR
Pointertoanull—terminatedstringof8—bitWindows(ANSI)characters。
typedefCHAR*LPSTR;
LPCSTR
Pointertoaconstantnull-terminatedstringof8—bitWindows(ANSI)characters.
typedef__nullterminatedCONSTCHAR*LPCSTR;
LPTSTR
#ifdefUNICODE
typedefLPWSTRLPTSTR;
#else
typedefLPSTRLPTSTR;
#endif
LPCTSTR
#ifdefUNICODE
typedefLPCWSTRLPCTSTR;
#else
typedefLPCSTRLPCTSTR;
#endif
LPCSTR可以理解成一种命名方法(即匈牙利命名法)
LPCSTR表示为:
L也许是long
P也许是point(即*)
C也许是const
STR也许是说明它是一个字符串。
也即32-指针指向一个字符串常量。
5、字符串的串接
方法一、
CStringgray(”Gray”);
CStringcat(”Cat”);
CStringgraycat=gray+cat;
方法二、
chargray[]=“Gray";
charcat[]=“Cat”;
char*graycat=(LPSTR)malloc(strlen(gray)+strlen(cat)+1);//malloc返回的是一个void*类型的
strcpy(graycat,gray);
strcat(graycat,cat);
CStringss=graycat;
6、_T()的意思
CStrings;
s。
Format(_T(”%d”),total);
对字符串使用_T()宏,这是为了让代码至少有Unicode的意识
bit、byte、位、字节、汉字的关系
1bit =1二进制数据
1byte =8bit
1字母=1byte=8bit
1汉字=2byte=16bit
4。
一个汉字占2个字节;
1汉字=2byte=16bit
5.标点符号
A>。
汉字输入状态下,默认为全角输入方式;
B〉.英文输入状态下,默认为半角输入方式;
1.bit:
位
一个二进制数据0或1,是1bit;
2.byte:
字节
存储空间的基本计量单位,如:
MySQL中定义VARCHAR(45)即是指45个字节;
1byte=8bit
3。
一个英文字符占一个字节;
1字母=1byte=8bit
C〉。
全角输入方式下,标点符号占2字节;
D〉。
半角输入方式下,标点符号占1字节;
故:
汉字输入状态下的字符,占2个字节(但不排除,自己更改了默认设置);
英文输入状态下的字符,占1个字节(但不排除,自己更改了默认设置);
老美在发明电脑时,肯定以自己的英文字母——即他们自认为的字符为最小的存储计量单位,于是也就有了不规范的1字符=1byte,岂不知还有我们伟大的汉字计量单位,NND,一个汉字也是一个字符,我们的1汉字字符就等于2byte,后来,他们可能意识到这个尴尬的问题,于是又标榜为:
一个字母为一个标准字符,去球吧,谁整天没事说个字符还“标准字符”,所以啊,个人认为:
字符,不能用于标准的计量单位.
—--—-—-————---——-——-——-——————-—-
补充:
计算机对各国语言的支持度,可分为以下三个阶段,如图:
更详细参考:
/encoding。
htm。
B、Bit、Byte他别指的是什么?
?
2008—07—0213:
05
bit(binarydigit)位
位是计算机数据中最小单元。
位的值只会是0或1。
虽然计算机也提供对位的判断和操作,但是计算机指令一般以字节为单位.在大多数的计算机系统中,八位是一个字节。
一位的值通常以存储电容是否带电来衡量。
半个字节在英语中叫nibble.在一些系统中,octet代表8位,而不用字节;而在另一些系统中,octets组成32位字,在这些系统中,指令长度以全字(32位)或半字(16位)表示.
byte关键字代表一种整型,该类型按下表所示存储值:
类型范围大小。
NETFramework类型
byte0到255无符号8位整数System。
Byte
文本
可如下例所示声明并初始化byte变量:
bytemyByte=255;
在以上声明中,整数255从int类型隐式转换为byte类型。
如果整数超出了byte类型的范围,则将发生编译错误.
转换
存在从byte类型到short、ushort、int、uint、long、ulong、float、double或decimal类型的预定义隐式转换。
不能将存储大小更大的非文字数字类型隐式转换为byte类型(请参见整型表中有关整型存储大小的信息)。
例如,请看以下两个byte变量x和y:
bytex=10,y=20;
以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式默认情况下计算为int。
bytez=x+y;//Error:
conversionfrominttobyte
若要解决此问题,请使用强制转换:
bytez=(byte)(x+y);//OK:
explicitconversion
但是,在目标变量具有相同或更大的存储大小时,使用下列语句是可能的:
intx=10,y=20;
intm=x+y;
longn=x+y;
同样,不存在浮点型到byte类型的隐式转换。
例如,除非使用显式强制转换,否则以下语句将生成一个编译器错误:
bytex=3.0;//Error:
noimplicitconversionfromdouble
bytey=(byte)3.0;//OK:
explicitconversion
调用重载方法时,必须使用显式转换.例如,请看以下使用byte和int类型参数的重载方法:
publicstaticvoidMyMethod(inti){}
publicstaticvoidMyMethod(byteb){}
使用byte显式转换可保证调用正确的类型,例如:
MyMethod(5);//Callingthemethodwiththeintparameter
MyMethod((byte)5);//Callingthemethodwiththebyteparameter
b=bit表示“位"
B=Byte表示“字节"
1Byte=8bit
一个字节(byte)可以存放八个二进制数字或一个字符(一个汉字占两个字节),1024个字节称为一个千字节,记为1KB;1024个千字节称为一个兆字节,记为1MB;1024个兆字节称为一个吉字节,记为1GB。
搜索更多相关主题的帖子:
bytebit汉字字节关系
字节(BYTE)、字(WORD)和双字(DOUBLEWORD),或者说是8位、16位和32位储存方式。
字节也就是8位方式能储存0~255的数字;
字或说是16位储存方式能储存0~65535的数;
双字即32位方式能储存0~95的数
一个字节有8位二进制组成,其最高位是第7位,最低位是第0位,在表示有符号数时,最高位就是符号位。
通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。
由2个字节组成一个字,其最高位是第15位,最低位是第0位。
高8位称为高字节,低8位称为低字节,
字节和字是汇编语言程序中最常用的两种数据类型,也是最容易出错的数据类型
用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字,如右图所示.
双字有较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存储远指针.
字节、字和双字是汇编语言最常用的三种数据类型,下图表现出它们三者之间的组成关系。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字节 关系