bit、byte、位、字节、汉字、字符

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


         1 bit      = 1 二进制数据
         1 byte   = 8 bit
         1 字母 = 1 byte = 8 bit
         1 汉字 = 2 byte = 16 bit

4. 一个汉字占2个字节;
     1 汉字 = 2 byte = 16 bit

5. 标点符号
     A>. 汉字输入状态下,默认为全角输入方式;
     B>. 英文输入状态下,默认为半角输入方式;



1. bit:位
     一个二进制数据0或1,是1bit;

2. byte:字节
     存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
     1 byte = 8 bit

3. 一个英文字符占一个字节;
     1 字母 = 1 byte = 8 bit
     C>. 全角输入方式下,标点符号占2字节;
     D>. 半角输入方式下,标点符号占1字节;

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



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


--------------------------------
补充:
     计算机对各国语言的支持度,可分为以下三个阶段,如图:

 


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

B、Bit、Byte他别指的是什么??
2008-07-02 13:05

bit (binary digit) 位

 

位是计算机数据中最小单元。位的值只会是0或1。虽然计算机也提供对位的判断和操作,但是计算机指令一般以字节为单位。在大多数的计算机系统中,八位是一个字节。一位的值通常以存储电容是否带电来衡量。

 

半个字节在英语中叫nibble。在一些系统中,octet代表8位,而不用字节;而在另一些系统中,octets组成32位字,在这些系统中,指令长度以全字(32位)或半字(16位)表示。

 

byte 关键字代表一种整型,该类型按下表所示存储值:

 

类型 范围 大小 .NET Framework 类型

byte 0 到 255 无符号 8 位整数 System.Byte

 

文本

可如下例所示声明并初始化 byte 变量:

 

byte myByte = 255;

在以上声明中,整数 255 从 int 类型隐式转换为 byte 类型。如果整数超出了 byte 类型的范围,则将发生编译错误。

 

转换

存在从 byte 类型到 short、ushort、int、uint、long、ulong、float、double 或 decimal 类型的预定义隐式转换。

 

不能将存储大小更大的非文字数字类型隐式转换为 byte 类型(请参见整型表中有关整型存储大小的信息)。例如,请看以下两个 byte 变量 x 和 y:

 

byte x = 10, y = 20;

以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式默认情况下计算为 int。

 

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 显式转换可保证调用正确的类型,例如:

 

MyMethod(5); // Calling the method with the int parameter

MyMethod((byte)5); // Calling the method with the byte parameter

 

 

b=bit 表示
        B=Byte
表示字节

       1 Byte=8 bit

 

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值