C++11 Java基本数据类型以及转换
写在前面:
母语是Java,后来学了C++11,这两个语言的基本数据类型隐式转换不太一样,有点晕,整理一下
整理自网络和书籍,标明出处

C++
基本数据类型

——http://www.cnblogs.com/wangduo/
整型
- (signed) int
格式说明符:d
简写:int,long,signed
4 个字节,32 位,取值范围:-231~231-1
- unsigned int
格式说明符:u
简写:unsigned
4 个字节,32 位,取值范围:0~232-1
- (signed) short int
格式说明符:hd
简写:short
2 个字节,16 位,取值范围:-215~215-1
- unsigned short int
格式说明符:hu
2 个字节,16 位,取值范围:0~216-1
- (signed) long int
格式说明符:ld
不同的平台有不同的规定
一些是4字节,一些是8字节
- unsigned long int
格式说明符:lu
不同的平台有不同的规定
一些是4字节,一些是8字节
- (signed) long long int
格式说明符:lld
简写:long long
8 个字节,64 位,取值范围:-263~263 -1
- unsigned long long int
格式说明符:llu
8 个字节,64 位,取值范围:0~264 -1
浮点型
- float
格式说明符:f
4 个字节,32 位,取值范围:3.4*10-38~3.4*1038
双浮点型
- double
格式说明符:lf
8 个字节,64 位,取值范围:1.7*10-308~1.7*10308
- long double
格式说明符:lf
C标准没有详细规定,只说了sizeof(long double)>=sizeof(double)
字符型
- char
格式说明符:c
如果将中文存储在char中,会导致溢出而出现不可预期的字符如乱码,见[◹]字符集编码
1 个字节,8位,取值范围:0~28-1
- wchar_t
不同的C或C++库有不同的规定
4 或 8 个字节,16位或32位,取值范围:0~216-1 或 0~232-1
字符串型
- string
格式说明符:s
C++引入的string 类类型
依据平台和编译选项的不同,最大容量会有变化
大部分32位环境或者系统中,最大容量是0~232-1
布尔型
- bool
格式说明符:没有!别乱用,小心某些平台爆炸
1个字节,取 0 或 1
隐式转换
在混合类型运算,赋值,传参,返回时,会发生隐式转换
基本原则:低精度 –> 高精度
不知道图是谁做的,都传糊了
——http://www.runoob.com/cplusplus/cpp-data-types.html
——《信息学奥赛一本通》
Java
基本数据类型
- byte
1 个字节,8 位,取值范围:-128~127
- short
2 个字节,16 位,取值范围:-2^15~2^15-1
- int
4 个字节,32 位, 取值范围:-2^31~2^31-1
- long
8 个字节,64 位,取值范围:-2^63~2^63 -1
- float
4 个字节,取值范围:-3.403E38~3.403E38
- double
8 个字节,取值范围:-1.798E308~1.798E308
- char
在java中,字符天然就是unicode表示,所以char就天然的可以保持人类理解的char
2 个字节,16位,取值范围:0~216-1
- String
在java的api中定义为char数组的形式
依据平台和编译选项的不同,最大容量会有变化
大部分32位环境或者系统中,最大容量是0~232-1
- boolean
1个字节,取 true 或 false
不支持Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换
隐式转换
在混合类型运算,赋值,传参,返回时,会发生隐式转换
基本原则:低精度 –> 高精度

C++11 Java基本数据类型以及转换的更多相关文章
- JAVA基本数据类型及其转换
Java语言是一种强类型语言.这意味着每个变量都必须有一个声明好的类型.Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型.Java另外还提供大数字对 ...
- Java基础数据类型二进制转换
前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...
- java的数据类型的转换
一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换: <二> 强制转换 <一>.自动转换:就是将小的数据类型自动转换成大的数据类 ...
- java中数据类型的转换
数据类型的转换,分为自动转换和强制转换. 自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换 强制转换必须在代码中声明,转换顺序不受限制 自动数据类 ...
- Java中数据类型默认转换和强制类型转换
默认转换: a:由低到高一次为:(byte short char )---int ---long ---float --- double b:注意:byte short char ...
- Java基本数据类型之间转换
一.自动类型转换 转换的过程自动发生规则:小——>大byte->short->int->long->float->double char类型识别为int,可以转成i ...
- java代码----数据类型的转换-----int --->String
总结:int ----->String package com.a.b; //测试..char--->int // int--->String public class Yue2 { ...
- Java中几种常用数据类型之间转换的方法
Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...
- Java数据类型的转换:隐式(自动)转换与强制转换
原文链接:http://java.chinaitlab.com/base/725590.html 一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double ...
随机推荐
- 基于 MPI/OpenMP 混合编程的大规模多体(N-Body)问题仿真实验
完整代码: #include <iostream> #include <ctime> #include <mpi.h> #include <omp.h> ...
- 使用nodejs和express搭建http web服务
目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 express ...
- JavaScript入门-对象
js对象 本篇主要介绍js里如何创建对象,以及for循环访问对象的成员... 什么是对象? 对象,并不是中文里有男女朋友意思,它是从英文里翻译来的,英文叫[Object],目标,物体,物品的意思. 在 ...
- leetcode 1240. 铺瓷砖(回溯,DFS)
题目链接 https://leetcode-cn.com/problems/tiling-a-rectangle-with-the-fewest-squares/ 题意: 用尽可能少的正方形瓷砖来铺地 ...
- kafka安装流程
本文是作者原创,版权归作者所有.若要转载,请注明出处. 安装前的环境准备 1.由于Kafka是用Scala语言开发的,运行在JVM上,在安装之前需要先安装JDK(省略) 2.kafka依赖zookee ...
- C++ STL 优先队列 (priority_queue)
std::priority_queue <queue> 优先队列 优先队列是一种容器适配器,根据某些严格的弱排序标准,使其第一个元素始终包含的最大元素. 这种特性类似于堆,它可以在 ...
- 如何用Python中自带的Pandas和NumPy库进行数据清洗
一.概况 1.数据清洗到底是在清洗些什么? 通常来说,你所获取到的原始数据不能直接用来分析,因为它们会有各种各样的问题,如包含无效信息,列名不规范.格式不一致,存在重复值,缺失值,异常值等..... ...
- AWS IoT Greengrass是什么?V1和V2版本及其差异
AWS IoT Greengrass Greengrass主要是用于边缘计算或者机器学习有关,对于详细了解请阅读结尾处的官方文档,文档内容也较为丰富. 目录 AWS IoT Greengrass ...
- 安装JDK与卸载JDK教程
卸载JDK 删除JDK的安装目录,也就是删除了主程序(通过环境变量可以找到) 删除java_home的环境变量 删除环境变量path中与java_home相关的 通过DOS命令cmd来检验是否卸载成功 ...
- 阿里云OSS对象存储服务(二)
一.使用SDK 在OSS的概览页右下角找到"Bucket管理",点击"OSS学习路径" 点击"Java SDK"进入SDK开发文档 二.创建 ...