三 进制、精度,Java的类型转换
进制的表示:
- 0b010 : 二进制表示形式:前面+0n
- 0100 : 八进制表示形式: 前面+0
- 0x001 : 16进制表示形式:前面+0x
计算机以补码的方式进行运算
进制的转换:
10进制转换成任意进制: 除基倒取余,结果从按余数下往上写
原反补:
- 原码:二进制定点表示法,最高位为符号位,0为正,1为负,其余为数值大小
- 反码:正数的反码与原码相同,负数的反码对其除符号位之外的原码逐位取反。
- 补码:正数的补码与其原码相同,负数的补码在其反码的末位+1.
7:
- 原码:0 0000111
- 反码: 0 0000111
- 补码: 0 0000111
-7:1 0000111
- 原码:1 0000111
- 反码:1 1111000
- 补码:1 1111001
已知原码求补码: 先求反码。 反码末位+1就是补码
数据类型:
Java是强类型语言,对于每一种数据都定义了明确的具体数据类型,
在内存中分配了不同大小的内存空间
整型:
- byte : 1个字节 1个字节8位(二进制位) 放0和1 2的8次方=256种 -128~127
- short: 2个字节 1个字节8位 2的16次方 2的-15次方~2的15-1 0~65535
- int 4个字节 2的32次方 -2的31~2的31次方-1
- long: 8个字节 2的 64次方 -2的63次方~2的63次方-1
浮点型:单精度,双精度 小数默认双精度
- float: 4个字节 小数默认double flaot f = 1.1f;
- double: 八个字节 2的64位
字符型:
- char: 两个字节 0~65535
布尔型:
- 理论占1/8个字节,一个开关就可以决定正负,但java没有明确指定他的大小
混合运算:
- 进行混合运算的时候,byte、char、short不会相互转换,而是会升为int类型。
- byte,short,char--->int---->long---->float---->double
- float能存储long的值,float表示的数据范围比long的范围要大
- int a = b++; ++在赋值后面,先取值再自增.
- int c =++d , 则先自增再取值
- short s = 1 ; s = s+1 ; error: 丢失精度。=是赋值运算符号,short与int进行运算,会提升为int,int赋给short,丢失精度。
- short s = 1 ; s+=1 ; +=是操作符,等价于s=(Short)(s+1),会进行强转,不会报错。
关于中文:
- Java一Unicode编码,每个字符占两个字节 ,中文也占两个字节。所以每个char可以保存一个汉字。
Ex:
- byte1个字节,int4个字节
- 当byte和int运算,赋给ints时,byte自动转化为int(byte前补上3个位00000000 00000000 00000000)
- 当他们的运算赋给byte时,会报错,损失精度(int 4变1),所以要强制转换
- byte = byte(int + byte);

三 进制、精度,Java的类型转换的更多相关文章
- [JVM] - 继10进制的java.lang.Object查看之后
cmd清除命令:cls 之后查阅了其它博客,发现这位大神同样也在做JVM,并且我很希望用它的10进制转16进制类来测试一下该解析的10进制是否对应着Object的16进制呢? 这位大神的10进制转16 ...
- P1604_B进制星球(JAVA语言)
思路:BigInteger 五杀!利用BigInteger自带的进制转换. //第一次提交WA了几组数据,下载测试数据发现带字母的答案要转换为大写. 题目背景 进制题目,而且还是个计算器~~ 题目描述 ...
- ✡ leetcode 168. Excel Sheet Column Title 26进制数字 --------- java
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...
- 进制转换 Java day6
今天周末学习的不多,只学习了一些二进制转十进制,八进制.十六进制,以及数据单位 二进制转十进制 我们都知道十进制转二进制就是除以2取余的方法.那二进制转到十进制又如何处理呢,今天我来学习以下 我们看看 ...
- Java基础-进制转换
Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由“0123456789” 这10个数字组成,逢十进一: ...
- java中的进制转换方法
java中进行二进制,八进制,十六进制,十进制间进行相互转换 关键字: java 进制转换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer ...
- 【Java学习笔记之四】java进制转化
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...
- java中 8进制 10进制 2进制 16进制 相互转换
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...
- Linux命令之bc - 浮点计算器、进制转换
用途说明 Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下.手册页上说bc是An arbitrary precision calcu ...
随机推荐
- LeetCode 234. Palindrome Linked List(判断是否为回文链表)
题意:判断是否为回文链表,要求时间复杂度O(n),空间复杂度O(1). 分析: (1)利用快慢指针找到链表的中心 (2)进行步骤(1)的过程中,对前半部分链表进行反转 (3)如果链表长是偶数,首先比较 ...
- 谈一谈并查集QAQ(上)
最近几日理了理学过的很多oi知识...发现不知不觉就有很多的知识忘记了... 在聊聊并查集的时候顺便当作巩固吧.... 什么是并查集呢? ( Union Find Set ) 是一种用于处理分离集合的 ...
- Mac 系统添加右键功能菜单--新建 office,文档等
Mac 系统自带右键功能键比较少,可以添加服务来拓展功能项.例如 Windows 系统右键可以新建 Word 文档,Excel 工作表等,Mac 默认没有,需要进行设置添加. 首先 F4 键进入 La ...
- 基于通用二进制方式安装MySQL-5.7.24(比源码安装MySQL快许多)及破密码
确保系统中有依赖的libaio软件 yum -y install libaio 使用wget命令下载mysql-5.7.24软件包 wget http://mirrors.sohu.com/mysql ...
- 一个IP与多个域名绑定
方法一:通过端口区分 方法二:通过serverName区分(推荐) 1.httpd.conf打开 virtual host虚拟主机配置 2.httpd-vhost.conf 添加配置 <Virt ...
- #P4770 [NOI2018]你的名字 的题解
题目背景 实力强大的小A 被选为了ION2018 的出题人,现在他需要解决题目的命名问题. 题目描述 小A 被选为了ION2018 的出题人,他精心准备了一道质量十分高的题目,且已经把除了题目命名以外 ...
- 「HAOI2011」Problem c
「HAOI2011」Problem c 传送门 由于这道题本人讲得不好,可以参考这位dalao的博客 我可就直接上代码了... 参考代码: /*---------------------------- ...
- AT指令之 TCP/IP 命令
BC26 还有一组专用于 TCP 通信的 AT 指令:<BC26_TCP/IP_AT_Commands_Manual_V1.1>,之前已经有了 Socket 可以进行 TCP 通信,现在又 ...
- 多数据库:SQLHelper
//=============================================================================== // This file is ba ...
- Vue.js项目的开发环境搭建与运行
写作背景:手上入一个用Vue框架写的微信公众号项目,根据公司安排,我负责项目源代码的验收工作(当然专业的工作检测会交给web开发人员,我只是想运行起来看一看). 1 开发环境安装步骤: (一)安装no ...