因为各种基本数据类型所占用的存储空间各不相同,所以在进行各种计算时,有可能存在精度题。计算机的操作要在内存中进行,而内存容量有限;另一方面,持久化存储设备的存储空间也有限,内存中的数据可能需要持久化保存,所以就要求各种数据类型占用的存储空间也必须有限。所谓的运算,在计算机内,就是按照既定的规则进行各种电压的变换,也就是从一些“01”串变为另外的“01”串。

测试代码:

package primitivetype;/*** 演示多组int,float,double的数与 2,2.0f,2.0d的除法运算和取模运算*@create by gzx on 2022-2-11*/
public class PrimitiveCalculate {public static void main(String[] args) {System.out.println("=========int===========");int[] ints= {1,2,3,4,5,6,7,8,9};int k=2;float m=2.0f;double n=2.0d;String idiv="/2";String fdiv="/2.0f";String ddiv="/2.0d";String imod="%2";String fmod="%2.0f";String dmod="%2.0d";for(int i:ints) {System.out.println(i+idiv+"="+i/k+"     "+i+imod+"="+i%k);System.out.println(i+fdiv+"="+i/m+"     "+i+fmod+"="+i%m);System.out.println(i+ddiv+"="+i/n+"     "+i+dmod+"="+i%n);}System.out.println("=========float===========");float[] fs= {1.1f,2.2f,3.3f,4.4f,5.5f,6.6f,7.7f,8.8f,9.9f};for(float f:fs) {System.out.println(f+idiv+"="+f/k+"     "+f+imod+"="+f%k);System.out.println(f+fdiv+"="+f/m+"     "+f+fmod+"="+f%m);System.out.println(f+ddiv+"="+f/n+"     "+f+dmod+"="+f%n);}System.out.println("=========double===========");double[] ds= {1.1d,2.2d,3.3d,4.4d,5.5d,6.6d,7.7d,8.8d,9.9d};for(double d: ds) {System.out.println(d+idiv+"="+d/k+"     "+d+imod+"="+d%k);System.out.println(d+fdiv+"="+d/m+"     "+d+fmod+"="+d%m);System.out.println(d+ddiv+"="+d/n+"     "+d+dmod+"="+d%n);}}
}

运行结果:

=========int===========
1/2=0     1%2=1
1/2.0f=0.5     1%2.0f=1.0
1/2.0d=0.5     1%2.0d=1.0
2/2=1     2%2=0
2/2.0f=1.0     2%2.0f=0.0
2/2.0d=1.0     2%2.0d=0.0
3/2=1     3%2=1
3/2.0f=1.5     3%2.0f=1.0
3/2.0d=1.5     3%2.0d=1.0
4/2=2     4%2=0
4/2.0f=2.0     4%2.0f=0.0
4/2.0d=2.0     4%2.0d=0.0
5/2=2     5%2=1
5/2.0f=2.5     5%2.0f=1.0
5/2.0d=2.5     5%2.0d=1.0
6/2=3     6%2=0
6/2.0f=3.0     6%2.0f=0.0
6/2.0d=3.0     6%2.0d=0.0
7/2=3     7%2=1
7/2.0f=3.5     7%2.0f=1.0
7/2.0d=3.5     7%2.0d=1.0
8/2=4     8%2=0
8/2.0f=4.0     8%2.0f=0.0
8/2.0d=4.0     8%2.0d=0.0
9/2=4     9%2=1
9/2.0f=4.5     9%2.0f=1.0
9/2.0d=4.5     9%2.0d=1.0
=========float===========
1.1/2=0.55     1.1%2=1.1
1.1/2.0f=0.55     1.1%2.0f=1.1
1.1/2.0d=0.550000011920929     1.1%2.0d=1.100000023841858
2.2/2=1.1     2.2%2=0.20000005
2.2/2.0f=1.1     2.2%2.0f=0.20000005
2.2/2.0d=1.100000023841858     2.2%2.0d=0.20000004768371582
3.3/2=1.65     3.3%2=1.3
3.3/2.0f=1.65     3.3%2.0f=1.3
3.3/2.0d=1.649999976158142     3.3%2.0d=1.2999999523162842
4.4/2=2.2     4.4%2=0.4000001
4.4/2.0f=2.2     4.4%2.0f=0.4000001
4.4/2.0d=2.200000047683716     4.4%2.0d=0.40000009536743164
5.5/2=2.75     5.5%2=1.5
5.5/2.0f=2.75     5.5%2.0f=1.5
5.5/2.0d=2.75     5.5%2.0d=1.5
6.6/2=3.3     6.6%2=0.5999999
6.6/2.0f=3.3     6.6%2.0f=0.5999999
6.6/2.0d=3.299999952316284     6.6%2.0d=0.5999999046325684
7.7/2=3.85     7.7%2=1.6999998
7.7/2.0f=3.85     7.7%2.0f=1.6999998
7.7/2.0d=3.8499999046325684     7.7%2.0d=1.6999998092651367
8.8/2=4.4     8.8%2=0.8000002
8.8/2.0f=4.4     8.8%2.0f=0.8000002
8.8/2.0d=4.400000095367432     8.8%2.0d=0.8000001907348633
9.9/2=4.95     9.9%2=1.8999996
9.9/2.0f=4.95     9.9%2.0f=1.8999996
9.9/2.0d=4.949999809265137     9.9%2.0d=1.8999996185302734
=========double===========
1.1/2=0.55     1.1%2=1.1
1.1/2.0f=0.55     1.1%2.0f=1.1
1.1/2.0d=0.55     1.1%2.0d=1.1
2.2/2=1.1     2.2%2=0.20000000000000018
2.2/2.0f=1.1     2.2%2.0f=0.20000000000000018
2.2/2.0d=1.1     2.2%2.0d=0.20000000000000018
3.3/2=1.65     3.3%2=1.2999999999999998
3.3/2.0f=1.65     3.3%2.0f=1.2999999999999998
3.3/2.0d=1.65     3.3%2.0d=1.2999999999999998
4.4/2=2.2     4.4%2=0.40000000000000036
4.4/2.0f=2.2     4.4%2.0f=0.40000000000000036
4.4/2.0d=2.2     4.4%2.0d=0.40000000000000036
5.5/2=2.75     5.5%2=1.5
5.5/2.0f=2.75     5.5%2.0f=1.5
5.5/2.0d=2.75     5.5%2.0d=1.5
6.6/2=3.3     6.6%2=0.5999999999999996
6.6/2.0f=3.3     6.6%2.0f=0.5999999999999996
6.6/2.0d=3.3     6.6%2.0d=0.5999999999999996
7.7/2=3.85     7.7%2=1.7000000000000002
7.7/2.0f=3.85     7.7%2.0f=1.7000000000000002
7.7/2.0d=3.85     7.7%2.0d=1.7000000000000002
8.8/2=4.4     8.8%2=0.8000000000000007
8.8/2.0f=4.4     8.8%2.0f=0.8000000000000007
8.8/2.0d=4.4     8.8%2.0d=0.8000000000000007
9.9/2=4.95     9.9%2=1.9000000000000004
9.9/2.0f=4.95     9.9%2.0f=1.9000000000000004
9.9/2.0d=4.95     9.9%2.0d=1.9000000000000004

演示多组int,float,double的数与 2,2.0f,2.0d的除法运算和取模运算,如有兴趣,可自行分析对比结果相关推荐

  1. C语言的int, float,double相互转化 (从本质上理解可能的问题)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/github_33873969/article/details/78040129 从学了C语言之后,一 ...

  2. c语言算式中有double和int,C语言当中int,float,double,char这四个有什么区别?

    区别在以下方面: 一.定义方面: 1.int为整数型,用于定义整数类型的数据 . 2.float为单精度浮点型,能准确到小数点后六位 . 3.double为双精度浮点型,能准确到小数点都十二位 . 4 ...

  3. C 语言实例 - 计算 int, float, double 和 char 字节大小

    C 语言实例 - 计算 int, float, double 和 char 字节大小C 语言实例 C 语言实例使用 sizeof 操作符计算int, float, double 和 char四种变量字 ...

  4. C++ int float double类型的数据大小端转化

    以下代码抄自<网络多人游戏架构与编程>,可以支持float.int.double等数据类型数据的大小端转换,测试代码为: void TestByteSwap() {int32_t test ...

  5. int float double char 所占字节数及数字范围之间的关系

    原码就是取 绝对值.反码是原码取反.补码是反码+1. int int 在32/64位系统中占4个字节,一个字节能含八位二进制数字0/1,四个字节含32位,所以表示的数的范围为-(2的31次方-1)到( ...

  6. 【编程】char unsigned int float double long 字节数

    定义方面: 1.int为整数型,用于定义整数类型的数据 . 2.float为单精度浮点型,能准确到小数点后六位 . 3.double为双精度浮点型,能准确到小数点都十二位 . 4.char为字符型,用 ...

  7. int, float, double之间不得不说的故事

    抱歉我用了一个这么"二"的题目,不过二点就二点吧,希望内容还不算太二. 其实学习过编程的同学,都对这三个东西再熟悉不过了.int,又称作整型,在.net中特指的是Int32,为32 ...

  8. C语言当中int,float,double,char这四个有什么区别?

    区别在以下方面: 一.定义方面: 1.int为整数型,用于定义整数类型的数据 . 2.float为单精度浮点型,能准确到小数点后六位 . 3.double为双精度浮点型,能准确到小数点都十二位 . 4 ...

  9. C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围

    char        1字节    short       2字节    int         4字节    long        4字节    long long   8字节    float ...

最新文章

  1. 使用pytest对django项目单元测试
  2. linux睡眠当前进程,linux-0.11中进程睡眠函数sleep_on()解析
  3. 分组背包----HDU1712 ACboy needs your help
  4. 10天学安卓-第六天
  5. 这是要把前几年积累的C++的节操给丢光吗
  6. svn服务端开启某个目录的服务
  7. Kubernetes从懵圈到熟练:认证与调度
  8. 怎么把python程序发给别人_想把你写的Python程序发给别人用?打包成exe啊!
  9. mysql 列合并_实战讲解MySQL执行计划,面试官当场“要了我”
  10. 谈谈JavaScript中的function constructor和new关键字
  11. 达索系统成立“大土木工程达索系统BIM技术推进联盟”深化应用、共享经验
  12. artcam 9.0英文版本下载_Jenkins版本升级(修复漏洞)
  13. IE7 绝对定位z-index问题
  14. mysql5.7 keepalived_基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构
  15. java考勤表导出_考勤打卡机导出的excel考勤时间表如何生成实用的考勤表
  16. Zip 命令打包移除多余隐藏文件
  17. 如何快速统计多条线段的长度和?
  18. 记一个阿里巴巴 平台型产品经理 面试
  19. 计算机快速格式化u盘启动,制作启动盘格式化u盘
  20. Laya 实现一个轻量高效好用的Tween库并支持Laya.Ease方法

热门文章

  1. Android DialogFragment 回传数据
  2. JSN-SR04T超声波模块驱动(模式三、STM32)
  3. 锂电池储能系统建模发展现状及其数据驱动建模初步探讨
  4. java 线程同步的list_java集合框架线程同步代码详解
  5. excel数据拆分怎么做
  6. unbuntu 安装things_在 Ubuntu 上搭建 thingsboard 开发环境
  7. macbook air可以运行c语言吗,MacBook Air
  8. 3 .前端性能优化-使用Lighthouse测试性能
  9. tcpdump如何抓接口包_TCPDUMP抓包方法
  10. 岁月悠悠,衰微只及肌肤;热忱抛却,颓废必致灵魂