自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拨开迷雾,寻真理

--“Anyone can cook!”

  • 博客(12)
  • 收藏
  • 关注

原创 由-128的补码引出的深层次思考。

    一般的说法是负数的补码为其原码除符号位外取反然后总体加一,也就是说,要得到一个负数数的补码,要先知道这个负数的原码才行。那么,问题出现了,在8位长度下,-128的原码与反码都不存在,因为一个字节的有符号数的原码范围是: -127 ~ + 127 ,既然不存在 -128的原码那么就无法求出 -128 的补码了,怎么办?       其实,这个问题的实际意义是,既然说计算机内部的有符号整数

2008-07-04 17:54:00 7368 20

原创 用来上传图片用的,没有实质内容。。。

    

2008-01-11 13:20:00 1297 6

原创 幻象与真实--计算机的本质

 一、计算机的本质 计算机的本质是一个复杂的数字电路,数字电路只能处理和输出高低两种电位组成的信号,所以计算机只认识高低两种电位状态! 任何人类的观念(比如数字,字符,图像等),在计算机里都被转换成这两种状态,再通过硬件电路或者程序的方式,使对这些状态的输出,符合这些观念本身应有的规律和形式,因为人看不到内部的转换和处理,只看到外部输出的样子,于是,在人看来,计算机可以完成多种

2007-12-31 15:12:00 4014 15

原创 有符号数和无符号数探讨

   这个问题,要是简单的理解,是很容易的,不过要是考虑的深了,还真有些东西呢。下面我就把这个东西尽量的扩展一点,深入一点和大家说说。 一、只有一个标准! 在汇编语言层面,声明变量的时候,没有 signed 和 unsignde 之分,汇编器统统,将你输入的整数字面量当作有符号数处理成补码存入到计算机中,只有这一个标准!汇编器不会区分有符号还是无符号然后用两个标准来处理

2007-12-30 19:09:00 3846 5

原创 本质啊本质之五:字符编码的本质

字符编码有好多种,平时容易见到的如:ASCII,gb2312,gbk,Unicode 。 所谓字符编码就是对人类的文字符号进行编号(因为计算机里一切都是数字),如“汉”、“B”、“6”。 吃透这个概念要注意:1.       在计算机内部,一切的一切都是纯而又纯的高低电位代表的数字,没有任何其他的东西。 2.       我们在电脑上看到的“字符”(小画片),如:“汉”,其

2007-10-10 23:40:00 1666

原创 本质啊本质之四:数组的本质

数组 1.“数组是同类型的聚合” 2.定义一个数组,如: TYPE x [ N ] , 意思是内存里有N个连续的TYPE型变量,连续的排列在一起。x 是第一个元素的地址,是一个立即数,是右值,不是变量。 x = = &x[0] .(这是编译器处理的,因为当你将 x 赋值给一个指针时  , 编译器实际上就用的 &x[0] ) 3.“多维数组也是一维数组”,这个说法不是一个空洞

2007-10-10 22:41:00 1595 2

原创 本质啊本质之三:指针的本质

c与机器联系紧密,抽象程度不是太高,所以机器层面的地址也拿过来了,改名叫指针。 遇到指针,要读成“地址变量”,其实指针就是一个存放整数(地址就是一个整数)的变量而已,多少级都是如此。 一、定义一个指针 int * p; 与访问指针指向的变量 * p;这两个语句里面的 * ,是两个不同的符号,要区别对待,不要把他看成一样的东西。第一个*表示:要定义变量p是个存放地址的变量。第二个

2007-10-10 22:33:00 4228 7

原创 本质啊本质之二:中间变量的本质

C中的“中间变量”(或叫临时变量) C中所有的中间变量,都是寄存器充当的,是编译后汇编层面的概念,所以,此“变量”非彼变量,c不能操作他。 例如:强制转换时,会产生中间变量,请看源代码与汇编代码的对照。  int main() {    int i;

2007-10-10 22:24:00 1889

原创 本质啊本质之一:数据类型的本质

研究一个层面的问题,往往要从更深的层面找寻答案。这就如c语言与汇编,汇编与机器指令,然而终究要有个底限,这个底限以能使我们心安理得为准,就好比公理之于数学,三大定律之于宏观物理。 在这里就将机器指令作为最后的底限吧,尽管再深入下去还有微指令,但那毕竟是太机器了,可以了。以下所有从c代码编译生成汇编代码用的是命令:cl xxx..c  /Fa  /Ze 类型的本质 类型这

2007-10-10 22:20:00 2469 5

原创 闭上眼睛,感受计算机的世界(跳出三界外,不在五行中)

 ·当你被各种新奇的概念、瑰丽的界面和无休止的名词弄的筋疲力尽的时候,闭上眼睛,想象一下内存中机械的、冰冷的一条条高高低低的电位指令,想想地址、寄存器、call、mov、in、out指令,你会发现:所有概念都是人自己创造的,真实的世界原来是那么的单纯明了。 ·高级语言如:c、c++、java,都是假的。高级的概念如:段、对象、组件都是假的。他们最终都要变成内存中一个个机器指令(电信号)

2007-10-10 21:51:00 2355 6

原创 有限的思维vs庞大的世界 (一个凡人如何成为宙斯)

 一.万事万物皆抽象 1. 人的智力是有限的,世界是越来越复杂的,人之所以能够用有限的智力建设并操控越来越复杂的世界靠的是层层抽象。 2. 原理:(建造大楼为例)a. 最原始的状态:人的所有精力都放在研究制造砖头上,此时没有也不可能顾及如何造大楼(因为人的智力是有限的)。b. 砖头造出来后,人就不再考虑砖头,把砖头当作原料进行更高一层的抽象,开始把所有精力放在用砖头造墙

2007-10-10 21:44:00 1967 4

原创 蛋鸡问题,先有鸡还是先有蛋。顺便回答第一个编译器是怎么来的。(思考使人伟大)

生活中存在着一些自举的例子,这些例子常被拿来做为思维狡辩的工具,它们确实也起到了让普通人思维混乱的作用。问题如下:1、  蛋鸡问题,鸡可以生蛋,蛋可以孵出鸡,那么到底先有鸡还是先有蛋?2、  人可以生人,人又可以生人,那么第一个人从哪里来?3、  机床可以制造机床,新机床又可以制造新机床,那么第一台机床从哪里来?4、  编译器可以编译编译器,新编译器又可以编译新编译器,那么第一

2007-10-10 21:34:00 4118 13

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除