
计算机系统
文章平均质量分 66
cwt8805
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浮点数的直观解释
对于一个给定的浮点数表示:假设这是一个规格化的单精度浮点数(S占用1bit, E占用8bit,M占用23bit),通常的解释是:(-1)^S * 1.M * 2^(E-127)如果我们把浮点数的表示看成这样的三个部分,可以得到一个更直观的解释:符号位不变。对于指数部分,可以认为是一个窗口,这个窗口边界由两个连续的2的幂的整数构成。尾数部分则认为是窗口中的偏移。窗口表示了这个浮点数将会落在那两个整数中间:[0.5,1], [1,2], [2,4], [4,8]直到[2^127,2^128]。偏移翻译 2021-12-03 17:31:49 · 530 阅读 · 0 评论 -
你的域名前要加www吗?
一些历史背景即便人们经常将“域名”(domain name)和“主机名”(host name)两个术语交替使用,然而他们是有区别的,不仅仅是语义上的区别。我简要的说明一下:作为一名IT管理员,你的网络就是你的域。现在需要给这个域命名,以及搭配相应的域名服务,因此你注册了一个域名,比如“example.com”。现在你的域下面有很多的主机。每一个接入网络的机器都被认为是一个主机。在你的域下提供万...原创 2020-02-28 11:05:40 · 6110 阅读 · 0 评论 -
浮点数是如何表示的
如何编码浮点数?我们知道计算机表示的任何信息都是一串bit,具体内容决定于如何解释。IEEE浮点标准用V = (-1)^s * M * 2^E的形式来表示一个数。s表示符号(1表示负,0表示正); M表示尾数,二进制小数,取值范围为1~2或者0~1,不包括上限值;E表示阶码,对浮点数加权,这个权重是2的E次幂(可能是负数)。在单精度浮点格式中,s占用最高位1位,exp占用接下来的8位,...原创 2018-09-11 17:05:06 · 2377 阅读 · 0 评论 -
你应该知道的Unicode
我是个Unicode新手。然而正如许多被Unicode导论一文刺激的新手一样,我迫切的想弄清楚Unicode到底是啥。Unicode的确涉及到了一些CS的底层概念,如字节序,然而却并不难理解。学习Unicode的同时,我们还能了解设计中的权衡及向后兼容的知识。下面是我的学习心得。该文可以直接阅读或者是作为上面Joel写的那篇文章的补充。读完本文,你可能会有去读Unicode规格或者Wiki翻译 2016-01-13 22:47:45 · 2897 阅读 · 0 评论 -
浅谈字符编码
当你想到文本的时候,你大概那会认为那仅仅是在计算机屏幕上显示出来的字符。但是计算机不能直接处理我们认识的字符,它处理的只能是位和字节。任何一段你在屏幕上看到的文本,实质上都是以某种编码形式存在的。字符的编码方式有很多,一些编码方式特别为某些特定的语言设置,还有一些则可以用来编码多种语言。粗略的讲,字符的编码提供了一种人类所认识的字符到存在于计算机上数字的映射。 当我们打开记事本,随便输原创 2012-07-23 13:30:00 · 730 阅读 · 0 评论 -
自制能使用U盘引导的程序(一)
一直想写一段程序能把它放在U盘里面,然后开机的时候可以运行它,下面就开始做吧。一 、基础知识1. pc的启动过程 pc启动后首先执行bios里面的程序,bios完成一些硬件检测之类的工作。然后就把pc的启动磁盘上的第一个扇区(MBR,master boot record)加载到内存0x7c00处,如果这段数据的最后两个字节分别是0x55和0xAA,那么就跳转到0x7c00处执行。原创 2013-08-08 21:43:01 · 3393 阅读 · 0 评论 -
自制能使用U盘引导的程序(二)
有了前面的基础铺垫,下面就开了写代码了。开发环境是Ubuntu,理由是Win7下面没有类似于dd的好用的绝对扇区写入工具,Win7由于一些安全方面的限制,自己编写程序写U盘MBR总是失败,可能是我水平太菜了吧^_^二、要写入U盘MBR的程序boot.asm这段代码的功能就是加载kernel.bin到地址0x7e00处,然后跳转到0x7e00。写这段程序,还是乖乖的使用汇编吧。也原创 2013-08-08 23:07:06 · 2419 阅读 · 3 评论