day02-计算机中的进制和编码

咱们平时用的进制是10进制。在计算机中,还有另外两种进制八进制和十六进制

十进制:  逢十进一
       表示数字: 0123456789

二进制:逢二进一
       表示数字: 0 1

八进制: 逢八进一

  01234567
       作用: 在某些编程语言里提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
              和二进制之间的转换:
              2-->8 :  取三合一     8-->2 : 取一分三

十六进制: 逢十六进一
       表示数字: 01234567ABCDEF

二进制使用起来很不方便, 16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的?2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。




二进制的编码

计算机内部是由集成电路这种电子部件构成的,电路只可以表示两种状态——通电、断电

因为这个特性,计算机内部只能处理二进制。那为什么我们能在计算机上看到字母和特殊字符呢?

这就是编码。




计算机中的单位

位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。
字节 byte:8个二进制位为一个字节(B),最常用的单位。
1B(bytes) = 8bit
1KB (Kilobyte 千字节)=1024B, 
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB(Trillionbyte 万亿字节 太字节)=1024GB,
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB

硬盘空间少比买的时候要少?

是因为 换算时他们将 1024 按照 1000来算
256G的硬盘: 256G= ? Bytes:按1000来算

256G 硬盘
1K = 1000B
1M = 1000K
1G = 1000M = 1000*1000*1000B =1000000000B
256G = 256000000000B

256000000000/1024/1024/1024 B = 238.4185791015625 G
500GB*1000*1000*1000/1024/1024/1024=465.66

百兆宽带,下载速度只能达到十多兆。

宽带运营商按照二进制来计算,所以要100M的宽带要除8才是下载的速度。




32位和64位 /31bit和64bit的区别

1.  对操作系统来说,64位和32位指最大内存寻址空间,32位最大4GB(2^32),64位理论上16EB(2^64),但现在一般都是2^48

2、对硬件来说,64位和32位指数据宽度,64位一次取8字节也就是64bit,32取4字节也就是32bit,所以理论上64位比32位性能提高了一倍。

  实际上的情况是,达不到,内存变大了,需要寻址更多。

3、对应用程序来说,应用程序基于操作系统 和硬件,其使用的指令宽度随系统和硬件变化。

32位和64位区别的最常见表现就是64万位操作系统可以支持4G以上的内存。缺点也是内存占用,64位代码比32位代码多占用空间,

现在来看64位操作系统兼容32位软件。反之则不行。

32位和64位最本质的区别是CPU来决定的,操作系统的位数是是看最大能把CPU的性能发挥到多高。我们现在在市面上见到的CPU都是64位的,32位的CPU已经是老古董了。

原文地址:https://www.cnblogs.com/jules/p/9184379.html

时间: 2024-10-13 22:30:11

day02-计算机中的进制和编码的相关文章

计算机中的进制和编码

计算机中的进制和编码 古时候,人们是如何来传递消息的? 当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾.结果,被戏而回.周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周.西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的"国人(平民)暴动".周朝从此衰落下去,社会动荡不安. 扯远了,我们说有城池A和城池B,城池B为前线,当城池B受到攻击的时候,需要城池

计算机中的进制和编码(转载)

原文出处: http://www.cnblogs.com/resn/p/5775378.html 古时候,人们是如何来传递消息的? 当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾.结果,被戏而回.周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周.西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的"国人(平民)暴动".周朝从此衰落下去,社会动荡不安. 扯

计算机中各种进制的转化

要想掌握计算机中各种进制的转化,先想搞清楚3个概念,数码(表示数的符号) 基(数码的个数) 权(每一位所具有值) 举例说明 十进制 数码 0-9 基数:10 权:10o,101,102,... 103 = 1*102+0*101+3*10o 二进制 数码 0-1 基数:2 权:2o,21,22,... 十进制数12转化成二进制数 12 = 1*2*2*2+1*2*2+0*21+0*2o 12的二进制数为001100 十进制数12转化为八进制数 12 = 1*81+4*8o=014 其它进制的转化

计算机中的进制

在学习编程的过程中,经常见到二进制,十进制,十六进制,到底进制表示什么意思呢?进制,字面意思,前进的制度,在数字方面,就是数字前进的制度,数字怎么向前进,那就是进位,我们在做加法运算的时候都会用到进位,8+3,我们会写个1,然后向前进一位,数数的时候更是如些,1,2,3......10, 我们不会再向下数11,12 ..... ,而是在心中放一个1, 然后再1,2,3,4,......10, 到10之后, 我们也不会向下数,而是在心中再记一个1,那么心中的数字就是2了,继续向下数,1,2,3,数

<13>【了解】计算机中的进制+【理解】原码反码补码基本概念+【理解】为什么要引入反码、补码?+【掌握】位运算符介绍及使用+位运算应用:编程实现10进制转2进制

1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 5 //定义10进制数,打印出10.8.16进制的值 6 int a = 13; 7 printf("%d\n",a); 8 printf("%o\n",a); 9 printf("%x\n",a); 10 11 //int 64 4个字节 12 int b = 0b0000000000000000

计算机的进制与编码

计算机的进制与编码 计算机的进制与编码 昨日回顾 marquee滚动字幕标记:块元素 计算机进制 十进制转换成二进制 二进制转换成十进制 计算机编码介绍(字符集) Unicode编码 UTF-8统一格式转换 昨日回顾 服务器软件:Apache,IIS 浏览器是一个翻译官,是一个解释器.可以翻译HTML,CSS,JavaScript. 服务器端脚本程序:PHP,.NET,JSP,C#等 .php文件要由PHP脚本引擎来进行处理. 网站前台(客服端) 网站后台(服务器端) 数据库 HTML(结构)

16进制、编码(编码问题随理解深入持续更新中)

16进制: 十进制转换成8进制: oct ( 数字) 十进制转换成16进制:  hex( 数字) CPU.内存.硬盘我们看到都是采用的16进制计算. 一个字节(byte)能够用2个16进制的数来表示.4个2进制对应1个16进制. 编码: 所有的系统.编程语言都默认支持Unicode. UTF-8/GBK... --> decode 解码 --> Unicode Unicode --> encode 编码 --> GBK / UTF-8 .. 假设某Python文件是以UTF-8保存

Java中的进制

1.Java的内置进制的转化 Integer.toBinaryString(int i);//将十进制转化为二进制 Integer.toOctalString(int i);//将十进制转化为八进制 Integer.toHexString(int i);//将十进制转化为十六进制 Integer.valueOf("100",2);//将二进制转化为十进制 Integer.valueOf("376",8);//将八进制转化为十进制 Integer.valueOf(&q

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //