B、Bit、Byte他别指的是什么?忘了还有个:它们有没什么-查字典问答网
分类选择

来自李宁辉的问题

  B、Bit、Byte他别指的是什么?忘了还有个:它们有没什么关系,如果有那它们如何进行转换,它们的中文意思又分别是什么

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

  忘了还有个:它们有没什么关系,如果有那它们如何进行转换,它们的中文意思又分别是什么

1回答
2020-08-06 22:18
我要回答
请先登录
刘长东

  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

2020-08-06 22:20:30

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •