ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机最小单位

2022-01-03 12:01:48  阅读:222  来源: 互联网

标签:字节 fmt unsafe 最小 单位 Println Sizeof size 计算机


计算机的基本的存储单元有:

   位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。二进制的一个“0”或一个“1”叫一位。

   字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节。各种信息在计算机中存储、处理至少需要一个字节

 

ASCIIS码: 1个英文字母(不分大小写)= 1个字节的空间

       1个中文汉字 = 2个字节的空间

                 1个ASCII码 = 一个字节

UTF-8编码:1个英文字符 = 1个字节

                   英文标点  = 1个字节

                   1个中文(含繁体) = 3个字节

           中文标点 = 3个字节

Unicode编码:1个英文字符 = 2个字节

                    英文标点  = 2个字节

                    1个中文(含繁体) = 2个字节

                    中文标点 = 2个字节              

字(Word):两个字节称为一个字。汉字的存储单位都是一个字。

扩展的存储单位有:

   计算机存储容量大小以字节数来度量,1024进位制:

      1024B=1K(千)B  

 

           1024KB=1M(兆)B 

 

           1024MB=1G(吉)B 

 

           1024GB=1T(太)B 

   这是常用的五个,至于PB,EB,ZB,YB,BB,NB,DB几乎在日常使用中是不会遇到的。

而Int8,Int16,Int32,Int64,后面的数字就代表这个数据类型占据的空间。

       Int8, 等于Byte, 占1个字节.

    Int16, 等于short, 占2个字节. -32768 32767

    Int32, 等于int, 占4个字节. -2147483648 2147483647

    Int64, 等于long, 占8个字节. -9223372036854775808 9223372036854775807

 

go 中  string 占16个字节

  另外, 还有一个Byte, 它等于byte, 0 - 255.

 

type One struct {

id1 int8

id2 int32

id3 int8

}

type Two struct {

id1 int32

id2 int8

id3 int8

}

 

func main() {

fmt.Println(unsafe.Sizeof(One{}))       //size为12

fmt.Println(unsafe.Sizeof(Two{}))       //size为8

fmt.Println(unsafe.Sizeof("222222222")) //size为16

fmt.Println(unsafe.Sizeof(111111111))   //size为8

fmt.Println(unsafe.Sizeof(1.1))         //size为8

}

 这样我们在写代码定义结构体变量时,注意设定他的大小和顺序

对齐内容可看一篇文章:https://zhuanlan.zhihu.com/p/53413177

 

标签:字节,fmt,unsafe,最小,单位,Println,Sizeof,size,计算机
来源: https://www.cnblogs.com/xiangshihua/p/15759199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有