数据类型是编程中碰到的一个最基本问题,下面我们来理解数据类型的实现。

首先各种数据类型是如何实现的,比如int,比如long。

首先介绍数据类型相关的一个概念,32位计算机或者64位计算机。计算系统本身是有其特点的,比如32位的系统,64位的系统等。他们之间的差别就是数据宽度的差别,对于32/64位的系统,寄存器大小是32/64位的,CPU访问内存时,一次可读取的数据也是32/64位的。但是这些并不构成数据类型的差别。 数据类型事实上是编程语言中的概念。比如汇编语言中的类型是单字节类型、双字节类型、4字节类型等;而C语言中定义int, long,short等;Java中会定义Object等高级类型。这里我们只介绍基本数据类型。虽然汇编语言比C语言更底层,但那并不意味着C语言中的类型可以一一映射到汇编语言的数据类型(虽然没有很相似)。C语言定义了一些标准数据类型:int, short, long等,具体的可以参考http://en.wikipedia.org/wiki/C_data_types。 但是这些类型并不是固定size的,只是有一些约定:long long  is not smaller than long, which is not smaller than int, which is not smaller than short。这样就造成一些混乱,比如说long的size是多少呢?这个不一定,不同的编译器,不同的机器上得到的结果是不一样的。比如,在MacOSX+XCode上,如果按照64位编译,它是64bit的;如果按照32位编译,它是32bit的;而在Windows上,使用VS编译,不论如何编译它都是32bit的。(这是由64bit 的data model决定的:http://en.wikipedia.org/wiki/64-bit#64-bit_data_models )。在C99中引入了一些变化,包括一个新的头文件stdint.h。其中定义了若干新的数据类型,这些类型就不再是不固定size的。在类型的名称中就包含了它的size,比如:uint64_t,int_least8_t等。

转载于:https://www.cnblogs.com/whyandinside/archive/2012/01/29/2331167.html

C和C++中的整形数据类型相关推荐

  1. python中int表示的数据类型是_python中的基本数据类型之 int bool str

    一.基本数据类型 1. int  ==>  整数.主要用来进行数学运算. 2.str  ==>  字符串.可以保存少量的数据,并进行相应的操作. 3.bool  =>  布尔值.判断 ...

  2. python中不同类型的数据不能相互运算_PyTorch中Tensor的数据类型和运算的使用

    在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量.Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarra ...

  3. java基础之java中的基本数据类型

    java基础之java中的基本数据类型 学习java一段时间了,使用java也差不多一年多了,可是对于后续的java的学习真的是后劲不足,或者是说懒惰吧,回想一下这一年多,用java最多的就是Andr ...

  4. double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」

    数据类型定义了变量可以采用的值,例如,定义变量为 int 类型,则只能取整数值. 在 Java 中有两类数据类型: 1)原始数据类型 2)非原始数据类型 - 数组和字符串是非原始数据类型,将在以后的教 ...

  5. java 类型转换_java中的基本数据类型的转换

    本文参考了如下两篇文章: Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码 ...

  6. java 数据类型分为_JAVA中分为基本数据类型及引用数据类型

    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...

  7. [转载] JAVA中分为基本数据类型及引用数据类型

    参考链接: C++和Java中布尔数据类型的比较 一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型, ...

  8. C语言中的基本数据类型

    C语言中的基本数据类型分别为以下几种 整型.浮点型.字符类型 整型又分为整型int.短整型short.长整型long 浮点型分为单精度浮点型float.多精度浮点型double 首先来介绍整型 1.短 ...

  9. 除号java_关于java中除号和数据类型的关系

    关于java中除号和数据类型的关系 import java.util.*; import java.io.*; public class chufa{ public static void main( ...

最新文章

  1. PHP Webservice的发布与调用
  2. 第 34 章 Gnuplot
  3. 小汤学编程之JavaEE学习day04——EL表达式、JSTL
  4. spring cloud 入门系列六:使用Zuul 实现API网关服务
  5. Linux系统简单实验操作rm
  6. [转]在python中删除list中元素的3种方法:remove、pop、del
  7. Visual Assist X AutoText修改说明
  8. 15.看板方法---启动看板变革
  9. 基于腾讯云的Discuz论坛搭建
  10. 7部署rancher步骤_Rancher发布K3s,真会玩。。
  11. SQL SERVER 修改表字段长度
  12. linux u盘无损分区,Unix/Linux无损分区解决方案[原创]
  13. win10键锁定计算机,win10笔记本键盘win键被锁怎么解锁
  14. QA是干什么的?(职责所在????)
  15. 使用GIS空间分析进行植物生长区域选址(附练习数据下载)
  16. 基于Self-Hosted模式搭建K8S可观测平台Pixie(内附填坑方法)
  17. DHTMLX基本用法
  18. linux之打包压缩(tar,gz,bz2,xz,zip)
  19. 查看计算机bios版本,Win10系统下查看电脑主板BIOS版本的方法
  20. 唉!一 28 岁程序员因新冠离世。。。

热门文章

  1. ieee39节点系统介绍_太原理工大学 秦文萍,逯瑞鹏等:大规模新能源接入对电气耦合综合能源系统稳定性有何影响?...
  2. cjson使用_LiteOS云端对接教程01-cJSON组件使用教程
  3. BFS 保存路径模板
  4. 在AWS S3的连接过程中发生java.lang.BootstrapMethodError: call site initialization exception
  5. 在“3_人民日报语料”中统计“日语借词”的词频;
  6. 百练OJ:2943:小白鼠排队
  7. SVN提交代码后不刷新状态解决办法
  8. Leaflet中使用leaflet-search插件实现搜索定位效果
  9. Java中善用通用的枚举对象类实现代码业务的判断
  10. Express中错误处理中间件的使用