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

原创 2007年10月10日 22:20:00

研究一个层面的问题,往往要从更深的层面找寻答案。这就如c语言与汇编,汇编与机器指令,然而终究要有个底限,这个底限以能使我们心安理得为准,就好比公理之于数学,三大定律之于宏观物理。

 

在这里就将机器指令作为最后的底限吧,尽管再深入下去还有微指令,但那毕竟是太机器了,可以了。以下所有从c代码编译生成汇编代码用的是命令:cl xxx..c  /Fa  /Ze

 

类型的本质

 

类型这个概念,好多地方都有讲,但说实话,你真的理解吗?什么是类型?类型是一个抽象的概念还是一个真实的存在?嗯?

 

开始:

 

1.“好多相同或相似事物的综合”(辞海)。

 

2. X86机器的数据类型有 byte,word,dword,fword,tword,qword,等等。

 

3.“给内存块一个明确的名字,就象邮件上的收件人一样。 给其一个明确的数据类型,就好象说,邮件是一封信,还是一个包裹 。”

 

4. 类型就是一次可以操作的块的大小,就是一个单位,就像 克,千克,吨 一样。双字一次操作32位;字,一次操作16位;如果没有各种类型,机器只有一个单位,字节,那么当需要一个4字节大小的块时,需要4次操作,而如果有双字这个类型单位,那么只需要一次操作就可以了。

 

5. 类型,是机器层面支持的,不是软的,是硬的,有实实在在的机器码为证。

 

类型的反汇编:

W32dasm反汇编出来的东西,可以看出不同的类型,机器码不同,说明类型是机器硬件级别支持的,不是通过软件实现的,更不是一个抽象的概念。

 

Opcodes上关于mov的机器码讲的更清楚:

 

需要说明的是,一些大的类型单位,如qword 等,在mov等标准指令里是没有的,在一些特殊指令里才能用到,如浮点指令:fmul qword ptr [0067FB08]  机器码:DC0D08FB6700

 

c++之引用的本质

引用变量是c++引入的重要机制。错误观念:引用本质只是别名,在符号表中ri和i对应于相同的变量地址int i=5; 0100437E mov dword ptr [i],5 ...
  • Scythe666
  • Scythe666
  • 2016年04月18日 19:34
  • 1151

C语言的本质(10)——指针本质

指针,大概是C语言中最难理解的概念之一了。指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是:1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的;...
  • yincheng01
  • yincheng01
  • 2014年06月30日 13:08
  • 2860

算法+数据结构的本质

何谓数据结构 数据结构是什么?它是组织内存中对象或基本类型数值(primtive types)的形式,为了更好地组织和使用这些对象而慢慢发展起来的固有形式,惯用法(idioms),是计算机开发领...
  • a236209186
  • a236209186
  • 2016年07月28日 00:32
  • 720

行列式的本质

考虑二维平面中的一组基向量(1,0)和(0,1),画在坐标系中表示其实就是沿着x轴和y轴的单位向量罢了,现在我们把这两个基向量放在一个矩阵中,当然,这并不是把两个向量简单的上下堆叠,而是首先要进行转置...
  • zjdxwwx
  • zjdxwwx
  • 2016年10月24日 16:35
  • 526

透析Java本质-谁创建了对象,this是什么

是构造方法创建的对象吗? package com.java.essence_36; import java.util.ArrayList; import java.util.List; /**...
  • u011278496
  • u011278496
  • 2014年05月23日 14:55
  • 1953

Jsp本质,jsp内置对像

什么是Jsp呢? JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,它是在传统的网页HTML中插入Java程序段,从而形成JSP文件,后缀名为(*.jsp)。 J...
  • u013210620
  • u013210620
  • 2016年08月18日 23:58
  • 933

线性代数的本质 - 系列合集观后总结

b站-线性代数的本质 这个系列的视频将可视化应用到线性代数几何意义的教学上,解释了很多之前在课堂上被强行定义但是不知道原理的线性代数常识:矩阵究竟有什么几何意义?为什么行列式绝对值等于面积(2d)或...
  • OX_louis
  • OX_louis
  • 2017年12月19日 17:55
  • 89

论分享的本质

这是我昨天在公司内部沙龙上讲的东西。因为原文是ppt,非常简单,我当时没有让人做纪要,现在根据PPT结构整理出来。   分享不是互联网以后才有的东西,而是早已植根于人类活动中的东西。原始人分享事物...
  • u012892897
  • u012892897
  • 2013年11月29日 10:40
  • 479

lambda表达式的本质

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • wangpeng2011314
  • wangpeng2011314
  • 2017年02月26日 20:50
  • 304

C++中引用的本质

引用是C++引入的重要机制,它使原来在C中必须用指针实现的功能有了另一种实现的选择,在书写形式上更为简洁。那么引用的本质是什么,它与指针又有什么关系呢?...
  • K346K346
  • K346K346
  • 2015年07月08日 16:33
  • 1907
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:本质啊本质之一:数据类型的本质
举报原因:
原因补充:

(最多只允许输入30个字)