C和C++中的整形数据类型
数据类型是编程中碰到的一个最基本问题,下面我们来理解数据类型的实现。
首先各种数据类型是如何实现的,比如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++中的整形数据类型相关推荐
- python中int表示的数据类型是_python中的基本数据类型之 int bool str
一.基本数据类型 1. int ==> 整数.主要用来进行数学运算. 2.str ==> 字符串.可以保存少量的数据,并进行相应的操作. 3.bool => 布尔值.判断 ...
- python中不同类型的数据不能相互运算_PyTorch中Tensor的数据类型和运算的使用
在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量.Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarra ...
- java基础之java中的基本数据类型
java基础之java中的基本数据类型 学习java一段时间了,使用java也差不多一年多了,可是对于后续的java的学习真的是后劲不足,或者是说懒惰吧,回想一下这一年多,用java最多的就是Andr ...
- double类型最大值_Java后端精选基础教程:Java 中的基本数据类型「连载 6」
数据类型定义了变量可以采用的值,例如,定义变量为 int 类型,则只能取整数值. 在 Java 中有两类数据类型: 1)原始数据类型 2)非原始数据类型 - 数组和字符串是非原始数据类型,将在以后的教 ...
- java 类型转换_java中的基本数据类型的转换
本文参考了如下两篇文章: Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码 ...
- java 数据类型分为_JAVA中分为基本数据类型及引用数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...
- [转载] JAVA中分为基本数据类型及引用数据类型
参考链接: C++和Java中布尔数据类型的比较 一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型, ...
- C语言中的基本数据类型
C语言中的基本数据类型分别为以下几种 整型.浮点型.字符类型 整型又分为整型int.短整型short.长整型long 浮点型分为单精度浮点型float.多精度浮点型double 首先来介绍整型 1.短 ...
- 除号java_关于java中除号和数据类型的关系
关于java中除号和数据类型的关系 import java.util.*; import java.io.*; public class chufa{ public static void main( ...
最新文章
- PHP Webservice的发布与调用
- 第 34 章 Gnuplot
- 小汤学编程之JavaEE学习day04——EL表达式、JSTL
- spring cloud 入门系列六:使用Zuul 实现API网关服务
- Linux系统简单实验操作rm
- [转]在python中删除list中元素的3种方法:remove、pop、del
- Visual Assist X AutoText修改说明
- 15.看板方法---启动看板变革
- 基于腾讯云的Discuz论坛搭建
- 7部署rancher步骤_Rancher发布K3s,真会玩。。
- SQL SERVER 修改表字段长度
- linux u盘无损分区,Unix/Linux无损分区解决方案[原创]
- win10键锁定计算机,win10笔记本键盘win键被锁怎么解锁
- QA是干什么的?(职责所在????)
- 使用GIS空间分析进行植物生长区域选址(附练习数据下载)
- 基于Self-Hosted模式搭建K8S可观测平台Pixie(内附填坑方法)
- DHTMLX基本用法
- linux之打包压缩(tar,gz,bz2,xz,zip)
- 查看计算机bios版本,Win10系统下查看电脑主板BIOS版本的方法
- 唉!一 28 岁程序员因新冠离世。。。
热门文章
- ieee39节点系统介绍_太原理工大学 秦文萍,逯瑞鹏等:大规模新能源接入对电气耦合综合能源系统稳定性有何影响?...
- cjson使用_LiteOS云端对接教程01-cJSON组件使用教程
- BFS 保存路径模板
- 在AWS S3的连接过程中发生java.lang.BootstrapMethodError: call site initialization exception
- 在“3_人民日报语料”中统计“日语借词”的词频;
- 百练OJ:2943:小白鼠排队
- SVN提交代码后不刷新状态解决办法
- Leaflet中使用leaflet-search插件实现搜索定位效果
- Java中善用通用的枚举对象类实现代码业务的判断
- Express中错误处理中间件的使用