数据压缩(一)——计算机编程中的各种数据类型,以C为例
任务:总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作。
一.C数据类型
- 整型(integer)
- 表示方法
int a; //整型(占用4个字节),最一般的整型数据说明方式
unsigned int a; //无符号整型(占用4个字节)
long int a; //长整型(占用4个字节)
unsigned long int a; //无符号长整型(占用4个字节)
short int a; //短整型(占用2个字节)
unsigned short int a; //无符号短整型(占用2个字节)
- 表示范围
- int 整型默认为有符号数,表示范围是 -32768~32767
- unsigned int 无符号整型,表示范围是0~65535
- long int 整型默认为有符号数,表示范围是-2147483648~2147483647
- unsigned long int 无符号长整型,表示范围是0~4294967295
- short int 默认为有符号数,表示范围是-32768~32767
- unsigned short int 无符号短整型,表示范围是0~65535
- 整型溢出
- 对于unsigned int来说,溢出后的数会以2^(8*sizeof(type))做模运算
- 对于signed int来说,溢出结果为实际计算结果
- 整型移位
无符号数的移位操作都是逻辑移位。
- 左移<<
二进制数按位向左移动,本质为×2.
有符号数最左端符号一出去时,发生移位溢出,数值符号可能改变。 - 右移>>
二进制数按位向右移动,本质为÷2.
有符号数符号位向右移动后,正数补0,负数补1。
- 字符型(character)
char a; //字符型(占用1个字节)
字符型数据内部表示是字符的ASCII码。
字符的ASCII码也可看作-128~127或0~255的一个整数。
3. 浮点型(floating-point)
/*浮点型又称实型,即实数类型*/
float a; //浮点型(单精度)(占用4个字节,小数点后有效位7位)
double a; //双精度型(双精度)(占用8个字节,小数点后有效位15位)
long double a; //(长双精度型)(占16个字节,小数点后有效位19位)
- 表示范围
float型数据的数值范围为-3.40E+38~3.40E+38
double型数据的数值范围为-1.79E+308~-1.79E+308
- 表示格式
程序中,书写浮点数的注意要点为:
- 整数部分和小数部分可任选,但不可以都没有
- 小数点和指数不能同时没有
- 指数部分是以一个字母e或E开头,后跟一个整数
- 浮点数溢出
- 浮点数上溢时,被赋予一个无穷大的值,printf函数显示的是inf。
- 指数部分已经达到最小值,计算机只好将尾数部分进行右移,空出首位的二进制数,丢弃最后一位的二进制数。
- 浮点数不支持移位操作
二.类型转换
隐式类型转换
隐式类型转换指的是不需要用户干预,编译器默认进行的类型转换行为。
隐式类型转换转换一般分为两种:内置数据类型、自定义数据类型。
内置数据类型最为常见。
例1:
/*混合类型的算数运算表达式中*/
int a=3;
double b=3.5;
double c=a+b=6.5;//在运算过程中,a会被自动转换为double类型,用转换的结果再和b相加
例2:
/*不同类型的赋值操作时*/
int a=true; //bool型被自动转换为int类型
bool a=5; //int型被自动转换为bool类型
例3:
/*函数参数传值时*/
void first(double a);
first(1); //调用函数时,int型整数1被自动转换为double类型
例4:
/*函数返回值时*/
double add(int a,int b)
{ return (a+b)
}; //运算结果会自动被转换为double类型后返回
总结:内置数据类型的隐式类型转换都满足一个原则:由低精度向高精度的转换。
显式类型转换
显式类型转换又称为强制类型转换。即人为的将某种类型转换为另一类型。
强制类型转换的转换符:()括号
例:
float a=3.5;
a=(int)a; //将a强制转换为int类型
数据压缩(一)——计算机编程中的各种数据类型,以C为例相关推荐
- 2020.2.15 要求:总结归纳计算机编程中的各种数据类型,其表示形式和计算方法。重点关注类型转换、数值溢出和移位等操作。
2020.2.15 要求:总结归纳计算机编程中的各种数据类型,其表示形式和计算方法.重点关注类型转换.数值溢出和移位等操作. [编程数据类型]C语言 一.基本类型 1.整型 1).基本整型 int u ...
- 计算机无符号是啥,计算机编程中的无符号是什么
在计算机编程中,术语"unsigned"(无符号)表示只能保存正数的变量.计算机代码中的"signed"(有符号)表示变量可以包含负值和正值.该属性可应用于大多 ...
- 计算机算法对程序设计的作用,计算机编程中数学算法的优化策略
李钰 摘要:在计算机编程中,合理地运用数学算法所拥有的优势不但可以完好地针对所拥有的问题进行总结分类归纳,还可以将其归纳作为基础从而进行针对性的统一计算,并且能够将非常复杂的问题进行整体的简化并且将其 ...
- 计算机编程里面counter是什么意思,step在计算机编程中的意思是什么
step在计算机编程中的意思是"步长",一般出现在计算机算法循化语句中,语法如"For counter = start To end [Step step]", ...
- 让杨超越小姐姐告诉你,计算机编程中的透明性是什么意思?
计算机编程中的透明性是什么意思? 生活中的透明: 生活案例1. 这位美女穿的这件衣服挺透明的,可以隐约看见她的咪咪!这里的透明,指的是我们的眼睛可以穿透美女的衣服,看到美女衣服里面的敏感部位,大家都 ...
- 计算机学算法的意义,浅析算法在计算机编程中的重要作用
摘 要:算法是一种解决程序编写方案的准确并且完整的描述,即为解决一系列问题的清晰指令.算法的运算种类极为繁多,其中最为基本的有赋值运算.算术运算.逻辑运算和关系运算等,另外稍为复杂的还有算术表达式和逻 ...
- 计算机编程中涉及的一些专业词语
API:Application Programming Interface -- 应用程序编程接口 SDK:Software Development Kit -- 软件开发工具包 MFC:Micros ...
- 随笔:计算机编程中的一些术语
API: API,英文全称Application Programming Interface,翻译为"应用程序编程接口".是一些预先定义的函数,目的是提供应用程序与开发人员基于某软 ...
- 计算机编程中的aa是什么意思,output是什么意思 output的例句 编程中output表示输出参数...
output 意思 [英][ˈaʊtpʊt][美][ˈaʊtˌpʊt] n.产量; 输出; 作品; [计]输出信号; vt.输出; 例句: 双语英语 1. That's almost 10% abov ...
最新文章
- #Ruby# Introspect (1)
- confluence添加用户_Confluence 6 选项 1 – 在 Confluence 中手动重建用户和用户组
- EOS账户系统(4)账户权限分级
- laravel5.8笔记八:数据库(单库和多库)
- 方法重载(overload)和方法重写(override)的比较
- .NET6之MiniAPI(十七):缓存
- python 单例模式的四种实现方法
- win2008 php mysql zend phpmyadmin_Windows2008 最新版Apache2.PHP5.MySQL6.PHPMyadmin.ZendOptimizer安装图解...
- 论文浅尝 | 基于异质图交互模型进行篇章级事件抽取
- python编辑elif显示错误_Python运行的17个时新手常见错误小结
- C语言中动态内存分配的本质是什么?
- padding卷积的两种方式“SAME”和“VALID”
- cxGrid 怎样才能让不自动换行 WordWrap:=false
- springmvc执行流程_SpringMVC
- Quartz配置文件quartz.properties加载
- Boston波士顿房价数据下载
- Typora图片上传失败问题
- 段式液晶结构你了解多少?
- 转:比谎言更可怕的,是对真相视而不见
- HTML5 Flex布局简介
热门文章
- 数据分级分类实施指南_逆袭!对数据分类分级治理快速提高企业数据管理水平...
- android MotionEvent.ACTION_CANCEL情景分析
- Elasticsearch的架构
- Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍
- OS2.1.2:进程的状态与转换
- 洛谷2月普及组(月赛)
- 开源汇智创未来 | 2022开放原子全球开源峰会OpenAtom openEuler分论坛圆满召开
- css更改背景图片大小
- 【日积月累】Spring
- 吉林大学计算机类分流,吉林大学物理学院本科生专业分流实施细则(试行)