数值类型的运算方式总结

提纲1:常见的位运算使用场景
提纲2:整数类型运算时的类型溢出问题,产生原因以及解决办法
提纲3:浮点类型运算时的精度丢失问题,产生原因以及解决办法

 常见的位运算

位运算符运算规则
&运算同时为1,结果为1,否则为0
|运算同时为0,结果为0,否则为1
^运算相同为0,不同为1
~运算对二进制的每一位进行取反
<<左移一位
>>右移一位

常见的使用场景:

位运算可以用于交换两个变量的值

&运算:常用于判断奇偶数

<<、>>:常用于计算指定数值得50%或者2倍

整数类型运算时的类型溢出问题,产生原因以及解决办法

整数类型运算时,经常会遇到类型溢出问题,是因为int类型只占4个字节,可以表示的取值范围为-2147483648~2147483647,当数据超过这个取值范围时,就会出现类型溢出。

解决方法:①强制类型转换:将int类型强制转换为long类型  ②引入BigInteger:当我们处理非常大的数值或者需要执行精确的数值计算,用BigInteger更为合适。

浮点类型运算时的精度丢失问题,产生原因以及解决办法

浮点数丢失精度的根本原因是计算机的二进制存储方式不能完全准确地表达所有的数值,特别是包含小数部分的浮点数。

解决办法: 使用更高精度的数据类型BigDecimal来解决。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机应用基础知识总结 第一章 1. 1946年第一台电子计算机ENIAC(埃尼阿克)在美国问世。 2. 计算机的时代划分: 电子管计算机时代、晶体管计算机时代、集成电路计算机时代和大规模集成电器计算 机时代。 3. 计算机的主要应用:网络应用 电子商务 科学计算 4. CAD计算机辅助设计 CAM计算机辅助制造 CAT计算机辅助测试 CAI计算机辅助教学 5. 计算机的特点:运算速度快,、计算精度高,存储量大、记忆功能强,具有逻辑判断 能力、运算自动化。 6. 计算机系统有硬件系统和软件系统两大部分组成。 7. 硬件系统由控制器、运算器、存储器、输入设备和输出设备五部分组成。 8. 控制器和运算器合成为中央处理器CPU CPU和内存又称为主机。 输入设备和输出设备又统称为外部设备。 9. 运算器的运算分为算术运算和逻辑运算。 10. 存储器按功能不同可分为内存储器和外存储器。 11. 内存储器又称为内存或主存,主要用来存放CPU工作时用到的程序和数据及计算后得到 的结果:CPU只能直接访问内存,外存中数据需要先调入内存再读取。 12. 随机存储器(RAM)允许用户随时进行数据读写的存储器,断电后数据全部丢失。 13. 只读存储器(ROM)只允许用户读取数据,不能写入数据的存储器,断电后数据不丢失。 14. 外存储器 主要用来存放需要长期保存的程序和数据。 15. 软磁盘 又称软盘 速度慢 容量小 ;硬磁盘 又称硬盘,寿命长、存储量大。 16. 速度、容量、价格:硬盘>光盘>软盘 17. 高速缓存 18. 计算机主要的输入设备有键盘和鼠标;主要的输出设备有显示屏和打印机。 19. 微机的总线根据功能不同可分为地址总线、数据总线和控制总线三类。 20. 软件是各种程序的总称,不同的功能的软件由不同的程序组成,这些程序经常被存储 在计算机的外存储器中,需要使用时装入内存使用。 21. 微机软件系统通常可以分为系统软件和应用软件2大类。 22. 系统软件是微机必备软件,它是操作使用计算机的基础。操作系统是最重要的系统软 件。 23. 应用软件是人们为了解决某种问题而专门设计的各种各样的软件。 24. 计算机操作系统有:DOS操作系统、Windows操作系统、Unix操作系统、Linux操作系统 。 25. 计算机性能指标:字长、速度、容量、带宽、版本和可靠性。 26. 计算机中的数据、信息都是以二进制形式编码表示的。 27. 二进制 八进制 十进制 十六进制 28. 二进制的优越性:技术可行性、运算简单性、温和逻辑性。 29. 进制数值间的转换: 30. 计算机使用的标准编码是ASCII(阿斯克码)。ASCII编码是由美国国家标准委员会制定 的《美国国家信息标准代码》,它使用一个字节的低七位(高位为0)来表示一个字符。 0b1b1b3b4b5b6b7 31. 将国标码,规定每个汉字符号用2个字节表示,每个字节的最高位维0其余低七位表示 汉字符号编码信息。为了与英文字区别,将国标码的每个字节的最高位置为1,得到对 应的汉字符号的内码表示。 32. 程序语言:机器语言、汇编语言和高级语言。 33. 用高级语言设计的程序称为高级语言源程序。源程序不能直接被计算机理解执行,不 需进行过饭以后才能执行。通常有2中方式执行:编译方式和解释方式。 34. 汉字输入编码方案主要可分为4类:拼音码(音码)、字形码(形码)、音形码、流水 码(区位码输入,无重码)。 35. 多媒体计算机系统的3个基本特性:处理信息形式的多样性、多媒体技术的集成性和人 与多媒体计算机的交互性。 36. 多媒体的关键技术主要包括数据压缩和解压压缩。 37. JPEG标准,针对静止图像的压缩国际标准。 38. MPEG标准,针对活动图像编码,即信息压缩和解压缩。 第二章 1. 操作系统是最重要的软件系统,是用户和计算机硬件之间的接口。 2. Windows系统是单用户多任务操作系统。 3. 键盘组合键功能:鼠标指针常见形状及作用。 4. Windows XP系统可分为活动窗口和非活动窗口。活动窗口最多只有一个,而非活动窗口可能有 多个,也可能没有。 5. 用鼠标拖动黄口的标题栏完成 移动 6. 窗口切换:Alt+Tab Alt+Esc 7. 快捷方式是一种特殊类型的图标(也称快捷图标),它实质上是一个指向对象的指针 ,而不是对象本身,快捷图标所处的位置不影响其对象的位置,更名或删除也不会影 响到对象本身。 8. 在windows XP系统中文件名的长度可以有255个字符。文件名中不能出现的特殊符号有:/,\, <,>,",", ,?。 9. "回收站"是硬件中的一块区域,使用"回收站"中只能存放硬盘中的文件及文件夹。 10. 剪贴板是windows XP系统中一段连续的可随存
【初识mysql】 mssql 2000 Access DB2 oracle 【mysql安装】 1、官方下载mysql win32 msi 2、点击安装 3、配置 4、查看是否安装成功 通过cmd 输入netstat -a搜索3306端口是否处于listening状态 【mysql服务的启动与停止】 1、右击我的电脑-管理-服务与应用程序-服务-mysql 2、net stop mysql|net start mysql 【mysql的配置文件以及数据位置】 1、安装目录下名为mysql.ini文件 2、默认数据位置 配置文件中字段为datadir 3、配置文件中简单的字段的理解 【mysql的登录与退出】 1、通过图形化界面 phpmyadmin mysqlGUI Navicat for MySQL 2、DOS登录或者自带的MySQL Command Line Client mysql -h IP或者域名 -u username -p -P port 回车 PWD 3、exit或者quit(CLI) 【密码的修改】 1、set password = password('密码'); set password for 用户名@域名或者地址 =password('密码'); 2、cmd下输入mysqladmin -uroot -p password 新密码 回车 旧密码 3、通过修改mysql数据库的user表 update mysql.user set password=password('新密码') where host='ip或者域名' and user='用户名' 【忘记密码的解决办法】 1、停止mysql服务 2、mysqld(mysqld-nt) --skip-grant-tables 3、重新打开窗口cmd 4、输入mysql -u root -p 回车 无需密码 5、通过上述密码修改方法3修改密码 6、flush privileges 7、exit 8、资源管理器kill进程mysqld 或者 mysql-nt 不要把mysql.exe 9、net start mysql 【简单的用户权限管理】 1、用户的创建 create user 用户名 identified by 密码 2、删除用户 drop user 用户名 3、用户重命名 rename user 原始名称 to 新名称 注释 : 用户名@localhost 只能本地登录 用户名@% 可以通过非本地登录 如果本地登录将%自动转换为localhost 【用户的权限】 1、初始用户只具有连接权限不具有其他权限,而且连接这个权限无法收回 只能通过删除用户 2、授权grant 收回权限revoke 3、授权语法 grant 权限 on 数据库.表 to 用户@域名或者IP identified by '密码' 4、收回权限 revoke 权限 on 数据库.表 from 用户@域名或者IP max_queries_per_hour 每个小时最大查询的数 0没有限制 max_updates_per_hour 每个小时最大更新数据的次数 0没有限制 max_user_connects 最大并发数 连接数 0没有限制 max_connects_per_hour 每个小时最大的并发数 0没有限制 【数据库的基本CLI】 1、show databases; 查看服务器中的所有数据库 2、select user(); 查看当前用户 3、select version(); 版本 4、show processlist; 在线详细信息 5、show warnings; 警告信息 6、use 数据库名称; 调用具体的数据库 7、show grants [for 用户名@域名或者IP]; 查看用户权限 8、select database(); 产看当前使用数据库 【数据库的创建和删除】 1、create database [if not exists] 数据库名称 2、drop database 数据库名称 【表的创建、修改和删除】 1、创建 create table [if not exists] 表名( 字段名称 类型(大小) 属性, 字段名称 类型(大小) 属性, 字段名称 类型(大小) 属性, ⋯⋯ )engine=innodb default charset=编码; create table [if not exists] 表名( 字段名称 类型(大小), 字段名称 类型(大小), 字段名称 类型(大小), ⋯⋯ 属性, 属性, ⋯⋯ )engine=innodb default charset=编码; 2、数据类型 日期类型:date Y-M-D 20110105(自动去除其中的非法符号!,*) time h:m:s 14:12:11 datetime date+time Y-M-D H:m:S timestamp:更新时日期值也会更新 timestamp default current_timestamp:只记录第一次插入的时间 数值类型: tinyint 0|1 smallint mediumint int[M] M默认11 人为设定系统也会根据自动分配空间(类似char和varchar) bigint float[(M,D)] 10的(M-D)次方->代表最大值 D->代表保留位数不够补0 //For float(M,D), double(M,D) or decimal(M,D), M must be >= D //只写M 0-24代表float精确度总的十位数超过6位用科学计数法,小数超出四舍五入,不够不补0 //float和double在desc中不会显示精确度 //select 中通过 float查询的前提是MD都有或者是double double //25-53代表double 但是不可以写精确度 >15位用科学计数法 字符串类型 char varchar text blob enum(v1,v2,v3⋯⋯65535) 插入的值是其中的一个 set(v1,v2,v3⋯⋯64) 插入的值是其中的0到多个 3、属性 1、自增属性 auto_increment 2、不为空not null | null 3、默认值default 4、主键primary key 5、列值的唯一 unqiue 6、索引 index|key 7、前导0 zerofill 属性可以写在末尾的主键 列值唯一 索引 4、查看表 desc 表名 show columns from 表名 show columns in 表名 5、修改表 alter table 表名 a) drop 字段 注意当表中字段为1个的时候不能删除 b) add 字段名 类型[大小] 属性,add 字段名 类型[大小] 属性⋯⋯ [after|first 字段] c) modify 字段名 类型[大小] 属性,modify 字段名 类型[大小] 属性⋯⋯ [after|first 字段] d) change 原始的字段名 新的字段名 字段名 类型[大小] 属性,modify 字段名 类型[大小] 属性⋯⋯ [after|first 字段] e) rename 新的表名 (方法二:rename table 旧的表名 to 新的表名) f) engine=存储引擎(type不建议使用) g) charset=字符编码 6、删除表格 drop table 表名 【表创建例题】 例题1:创建一个表用于存储用户上传的文件信息 (文件的原始名,大小,路径,文件名,类型,上传人,是否共享) 例题2:创建一个表用于存储用户注册信息 (用户名,密码,id,email,安全问题,安全问题答案) 例题3:创建一个表用户留言板信息 (给谁留言,是谁留的言,留言时间,留言内容) 【数据库和表相关信息的一些CLI】 1、show create database 数据库名 2、show create table 表名 3、show status; 4、show table status like ""; 5、show variables; 【数据库的备份与导入】 1、备份cmd->mysqldump -u root -p 数据库 [表名] > 文件名.sql->回车->密码 注意:cmd下运行mysqldump >覆盖 >>追加 2、还原:进入mysql下->source 路径 3、备份和还原可以进入配置文件所在数据目录下拷贝 【CURD操作】 1、表中记录的写入 insert into 表名[(字段1,字段2,字段3,⋯⋯)] values(值1,值2,值3,⋯⋯),(值1,值2,值3,⋯⋯) 2、insert into 表名 set 字段1=值1,字段2=值2,字段3=值3⋯⋯ 3、表中记录的删除 delete from 表名 where 条件 4、表中记录的更新 update 表名 set 字段1=值1,字段2=值2,字段3=值3⋯⋯ [where 条件] 5、表中记录的查询 select *|字段[,字段] [as 新字段名称] from 表名 [where 条件 group by 字段 having 附加条件 in() order by ASC|DESC limit开始,长度] 6、where 条件的理解 = | !=(<>) | between and | or | and | in | not 【mysql中的简单的数学函数】 1、统计函数 count()|max()|min()|avg()|sum() 2、mysql运算 php运算一致(除逻辑运算&& || !) 3、数学函数 pi()|round()|rand()|ceil()|floor|sin()|abs()|mod() 4、特殊的 like '' %->任意 regexp '' ->posix 【mysql中的字符串和时间】 concat(字符1,字符2...) 字符连接 instr(字符串,字符) 寻找字符所在字符串的位置 char ascii编码 转化为字符 ord 字符转化为ascii编码 substring(字符串,开始位置,长度); length(字符串) 字符串长度 substr(字符串,开始位置,长度); lpad 往左边填充 rpad 往右边填充 lower 转化为小写 upper 转化为大写 select left(字符串,长度);从左边取几位 select right(字符串, 长度);从右边取几位 select curdate(); 获取当前的日期 select curtime(); 获取当前的时间 select now();获取当前的时间跟日期

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值