注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 部署SMS2003+SP1详细过程
 帮助

计算机原理粗谈


2008-07-09 19:46:03
 标签:计算机 原理    [推送到技术圈]

计算机原理粗谈
     接触计算机也有好几年了,虽然大学专业不是这个,不过一直都对计算机底层的东西感兴趣,这方面也看了一些书,自己也思考了一些东西。(首先声明自己不是什么高手,如有讲错恳请指正)
     在看国外的书和国内的书,发现有很大的不同,国外很多书都喜欢命名为什么什么的艺术,什么什么的思想。而国内的书大多是提高什么之类的,什么深入之类的。
     以前常常听别人说思想是最重要的,那个时候不懂,不过现在想起来,的确非常有道理。
     这个计算机原理粗谈就从思想开始:
    大家都知道在计算机内部运行的数据都以二进制表示,如同英语一样全是由字母所组成,但是单个的字母,大家并不知道是什么意思,但是组合在一起大家就明白了比如说have这个单词分开为每个字母的时候,大家就不明白是什么意思,但是合在一起就知道他代表了有的意思,但是h,a,v,e这四个字母不能胡乱组合,为什么我说have这个但吃代表有的意思呢?因为这是人类早期在创造语言是就以约定好了的组合方式。
    那么在计算机中是怎么表示的呢,如果是我们自己设计计算机,我们该怎么来表示英语单词呢?最简单的考虑就是一组二进制匹配一个字母,然后在通过组合的方式构成单词,这个思想是绝妙的26个字母对应于二进制从0开始到11010,但是,我们要怎么来设计一个单词的结束呢?我们参考了现实中的语言。参考下面这句话,i have a book.这句英语非常简单,相信大家都看的懂,如果写成这样ihaveabook.相信大家看起来会比较困难。如果是一篇文章的话,估计就没有人看的懂,而i have a book这句大家能看的懂是因为通过了空格来分割每个单词,于是在计算机中,我们通过'\0'这个asc码来分割单词,我们在计算机中还要考虑计算阿,要不然就不叫计算机了。于是我们还要增添0到9这几个数字,增加了数字,我们还必须增加计算符号+,-,这样一步一步下来考虑,就形成了大家所熟知的ASC码。
    为什么asc码只有256个呢,是因为在早期的计算机设计中并没有考虑到汉字和一些特殊的符号,当然就更没有考虑到图片,声音这些更特殊的东西,asc码刚好用一个字节表示也就是8位二进制数,也就是说在计算机内部,每次都是传输一个字节。
    今天就到此为止,写的很乱,不过原理很简单,主要讲的是怎么去思考的问题。
 





 

 






    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: