当前位置: 首页 > news >正文

天猫官方网站百度下载正版

天猫官方网站,百度下载正版,java 网站开发 好书,nginx wordpress 二级目录控制台输出中文乱码问题解决: ref:https://blog.csdn.net/ymzhu385/article/details/121797080 基本数据类型 我们的程序离不开数据,比如我们需要保存一个数字或是字母,这时候这些东西就是作为数据进行保存,不过不同的数据他们的…
  1. 控制台输出中文乱码问题解决:
    ref:https://blog.csdn.net/ymzhu385/article/details/121797080

基本数据类型

我们的程序离不开数据,比如我们需要保存一个数字或是字母,这时候这些东西就是作为数据进行保存,不过不同的数据他们的类型可能不同,比如1就是一个整数,0.5就是一个小数,A就是一个字符,C语言提供了多种数据类型供我们使用,我们就可以很轻松的使用这些数据了。

不同的数据类型占据的空间也会不同,这里我们需要先提一个概念,就是字、字节是什么?

我们知道,计算机底层实际上只有0和1能够表示,这时如果我们要存储一个数据,比如十进制的3,那么就需要使用2个二进制位来保存,二进制格式为11,占用两个位置,再比如我们要表示十进制的15,这时转换为二进制就是1111占用四个位置(4个bit位)来保存。一般占用8个bit位表示一个字节(B),2个字节等于1个字,所以一个字表示16个bit位,它们是计量单位。

我们常说的内存大小1G、2G等,实际上就是按照下面的进制进行计算的:

8 bit = 1 B ,1024 B = 1KB,1024 KB = 1 MB,1024 MB = 1GB,1024 GB = 1TB,1024TB = 1PB(基本上是1024一个大进位,但是有些硬盘生产厂商是按照1000来计算的,所以我们买电脑的硬盘容量可能是512G的但是实际容量可能会缩水)

在不同位数的系统下基本数据类型的大小可能会不同,因为现在主流已经是64位系统,本教程统一按照64位系统进行讲解。

原码、反码和补码

原码
上面我们说了实际上所有的数字都是使用0和1这样的二进制数来进行表示的,但是这样仅仅只能保存正数,那么负数怎么办呢?

比如现在一共有4个bit位来保存我们的数据,为了表示正负,我们可以让第一个bit位专门来保存符号,这样,我们这4个bit位能够表示的数据范围就是:

最小:1111 => - (22+21+2^0) => -7
最大:0111 => + (22+21+2^0) => +7 => 7
虽然原码表示简单,但是原码在做加减法的时候,很麻烦!以4bit位为例:

1+(-1) = 0001 + 1001 = 怎么让计算机去计算?(虽然我们知道该去怎么算,但是计算机不知道,计算机顶多知道1+1需要进位!)

我们得创造一种更好的表示方式!于是我们引入了反码:

反码
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
经过上面的定义,我们再来进行加减法:

1+(-1) = 0001 + 1110 = 1111 => -0 (直接相加,这样就简单多了!)

思考:1111代表-0,0000代表+0,在我们实数的范围内,0有正负之分吗?

0既不是正数也不是负数,那么显然这样的表示依然不够合理!

补码
根据上面的问题,我们引入了最终的解决方案,那就是补码,定义如下:

正数的补码就是其本身 (不变!)
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
其实现在就已经能够想通了,-0其实已经被消除了!我们再来看上面的运算:

1+(-1) = 0001 + 1111 = (1)0000 => +0 (现在无论你怎么算,也不会有-0了!)

所以现在,4bit位能够表示的范围是:-8~+7(C使用的就是补码!)

    char c1 = 127; //已经到达c的最大值了c1 = c1 + 1;  //我不管,我就要再加printf("%d", c1);     //这时会得到什么结果?

输出:-128

怎么127加上1还变成-128了呢?这是由于位数不够,导致运算结果值溢出:

127 + 1= 01111111 + 1
由于现在是二进制,满2进1,所以最后变成
10000000 = 补码形式的 -128
负数求补码:如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。 11111111

http://www.ds6.com.cn/news/103860.html

相关文章:

  • 一个网站占空间有多少g搜索引擎关键词优化方案
  • 织梦可以放两个网站培训机构招生7个方法
  • 直接做的视频网站企业seo职位
  • 含山建设局网站精准营销通俗来说是什么
  • 南京哪家做电商网站网站关键词优化
  • 常州网站制作包括哪些最稳定的灰色词排名
  • 做水果生意去哪个网站快速收录网
  • b2c的电子商务的网站建设谷粉搜索谷歌搜索
  • 二级不死域名制作方法沈阳seo代理计费
  • 湖南怀化市住房城乡建设局网站南昌seo优化
  • 英国帮人做设计作业网站百度小说风云榜首页
  • wordpress 手机验证优化优化
  • 哪个网站可以做汽车评估网络营销服务企业有哪些
  • 沈阳市建设监理协会网站关键词分析工具
  • 铜仁北京网站建设软件定制
  • 成都做公司网站培训班管理系统 免费
  • 网站制作费用及后期运营国家新闻最新消息今天
  • 网站的备案网站维护中
  • 做网站优化两年遇到的SEO常态天堂网长尾关键词挖掘网站
  • 太原做app网站建设中国工商业联合会
  • 网站建设费用请示网站设计报价方案
  • 如何下载别人的网站模板西安网站优化推广方案
  • seo网站内容百度热度指数排行
  • 普陀区网站建设关键词seo资源
  • 专业做网站有哪些百度开户代理商
  • 石家庄php网站建设电子商务seo
  • 外包网站自己维护seo一般包括哪些内容
  • 什么是网站的空间网络推广公司收费标准
  • 清河做网站哪里好企业网络策划
  • 班级建设网站合川网站建设