码迷,mamicode.com
首页 > 其他好文 > 详细

计算机理论知识--数据标示方式

时间:2015-09-18 11:47:22      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

数据表示方式

  计算机只认识0与1,(早期的计算机使用的是利用通电与否的特性的真空管,如果通电就是1,没有通电就是0, 后来沿用至今,我们称这种只有0/1的环境为二进位制,英文称为binary)记录的数据也是只能记录0与1而已,所以计算机常用的数据是二进位的。 但是我们常用的数值运算是十进位,文字方面则有非常多的语言,常用的语言就有英文、中文(又分正体与简体中文)等。 那么计算机如何记录与显示这些数值/文字呢?就得要透过一系列的转换才可以啦!

一:数字系统

  十进位,890的意义为:

  890= 8x102 + 9x101 + 0x100

  二进位,我们来解释一下1101111010的数值转为十进位的话,结果如下:

  1101111010= 1x29+1x28 + 0x27+ 1x26 + 1x25 + 1x24 + 1x23 + 0x22+ 1x21 + 0x20
          = 512+256 +0+ 64 + 32 + 16 + 8+0+2+0= 890

  这样你了解二进位的意义了吗?二进位是计算机基础中的基础喔!了解了二进位后,八进位、十六进位就依此类推啦! 那么知道二进位转成十进位后,那如果有十进位数值转为二进位的环境时,该如何计算? 刚刚是乘法,现在则是除法就对了!我们同样的使用十进位的890转成二进位来测试一下好了:

                890/2=445  0  

                445/2=222 1  

                222/2=111 0

                111/2=55 1

                55/2=27 1

                27/2=13 1

                13/2=6 1  

                6/2=3 0

                3/2=1 1

                1/2=0 1

最后的写法就如同上面的红色箭头,由最后的数字向上写,因此可得到1101111010的数字罗! 这些数字的转换系统是非常重要的,因为计算机的加减乘除都是使用这些机制来处理的! 有兴趣的朋友可以再参考一下其他计算计概论的书籍中,关於1的补数/2的补数等运算方式喔!

//简单的介绍PHP中的的几个函数

//decbin — 十进制转换为二进制
echo decbin(890) //1101111010

//bindec — 二进制转换为十进制
echo bindec (‘1101111010‘) //890

//dechex — 十进制转换为十六进制
echo dechex (890) //37a

//hexdec() - 十六进制转换为十进制
echo hexdec("37a") //890

//decoct — 十进制转换为八进制
echo decoct (890) //1572

//octdec — 八进制转换为十进制
echo octdec (1572) //890

//base_convert — 在任意进制之间转换数字
string base_convert ( string $number , int $frombase , int $tobase )
//number要转换的数字frombase当前进制  tobase 目标进制

 

 

计算机理论知识--数据标示方式

标签:

原文地址:http://www.cnblogs.com/ID890/p/bindec.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!