进制的表示:

  • 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的类型转换的更多相关文章

  1. [JVM] - 继10进制的java.lang.Object查看之后

    cmd清除命令:cls 之后查阅了其它博客,发现这位大神同样也在做JVM,并且我很希望用它的10进制转16进制类来测试一下该解析的10进制是否对应着Object的16进制呢? 这位大神的10进制转16 ...

  2. P1604_B进制星球(JAVA语言)

    思路:BigInteger 五杀!利用BigInteger自带的进制转换. //第一次提交WA了几组数据,下载测试数据发现带字母的答案要转换为大写. 题目背景 进制题目,而且还是个计算器~~ 题目描述 ...

  3. ✡ 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 ...

  4. 进制转换 Java day6

    今天周末学习的不多,只学习了一些二进制转十进制,八进制.十六进制,以及数据单位 二进制转十进制 我们都知道十进制转二进制就是除以2取余的方法.那二进制转到十进制又如何处理呢,今天我来学习以下 我们看看 ...

  5. Java基础-进制转换

    Java基础-进制转换 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Java 程序中常用的进制 1>.十进制,由“0123456789” 这10个数字组成,逢十进一: ...

  6. java中的进制转换方法

    java中进行二进制,八进制,十六进制,十进制间进行相互转换 关键字: java 进制转换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer ...

  7. 【Java学习笔记之四】java进制转化

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  8. java中 8进制 10进制 2进制 16进制 相互转换

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  9. Linux命令之bc - 浮点计算器、进制转换

    用途说明 Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下.手册页上说bc是An arbitrary precision calcu ...

随机推荐

  1. 研发2nm芯片,台积电如何做到天下第一?

    日前,台积电宣布,正式启动2nm芯片工艺的研发,工厂将会设置在台湾新竹的南方科技园,预计2024年投入量产,发言人称:2nm工艺是一个重要节点,目标是比3nm制程缩小23%.科技先锋总会打脸分析专家, ...

  2. 研究Zookeeper的原理(一)

    阅读声明:以下内容是结合网上材料所写个人理解,如有不当,欢迎大家指正~~~谢谢 一.Zookeeper介绍 zookeeper,见名知意嘛,zoo动物园,keeper保持者.管理员,结合起来就是动物管 ...

  3. CircleLinkList(循环链表)

    尾插法和循环链表. #include <stdio.h> #include <stdlib.h> typedef struct CircleLinkList { int dat ...

  4. mssql-osql

    mssql导入单行字段值非常长,或者sql文件非常大,比如上百M或者更大,常规方法是导不进去的,所以推荐下面方式进行导入. osql -S . -U sa -P 123456 -d TS_TEST - ...

  5. idna与utf-8编码漏洞

    来自Black hat 2019 原理什么是IDN?国际化域名(Internationalized Domain Name,IDN)又名特殊字符域名,是指部分或完全使用特殊文字或字母组成的互联网域名, ...

  6. spark实验(二)--scala安装(1)

    一.实验目的 (1)掌握在 Linux 虚拟机中安装 Hadoop 和 Spark 的方法: (2)熟悉 HDFS 的基本使用方法: (3)掌握使用 Spark 访问本地文件和 HDFS 文件的方法. ...

  7. 云账房获取2.76亿元D轮投资

    财税管理SaaS服务商云帐房 南京云帐房网络科技有限公司正式成立于2015年3月,法定代表人为薛兴华. 2015年获得600万人民币天使轮融资,投资方为AA投资: 2016年5月份完成数千万人民币A轮 ...

  8. Java 模拟斗地主

    模拟斗地主 public class M1 { public static void main(String args[]) { DouDiZhu02(); } private static void ...

  9. EC20的低功耗模式

    EC20的支持以下几种工作模式,睡眠模式包括MCU主机睡眠和EC20睡眠. 当MCU主机不睡眠时,通过AT+QICSK =1(发送完之后串口被禁用不再响应AT指令),DTR=1(投票EC20可以进入睡 ...

  10. Eclipse中java代码注释变成乱码的问题

    今天在查看曾经写过的代码时发生了一件很是让人头疼的事: 我写的所有注释全部都变成了了乱码,曾经刚入门时也是经常遇到类似的问题,解决起来很快,每天可能都会在工作空间里看到,但是随着时间的推移,写代码的规 ...