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

网站迁移后 域名住房城乡建设局网站首页

网站迁移后 域名,住房城乡建设局网站首页,邢台中高风险地区,seo服务运用什么技术进制是什么#xff1f;进制是人为设计的一套带进制计数方法#xff0c;比如日常使用的十进制#xff0c;就是0-9这10个数字#xff0c;每逢十就会向高位进一。因为人类只有十根手指#xff0c;所以天生地就会想到使用十进制--数到10发现手指头不够用了#xff0c;就只能进…进制是什么进制是人为设计的一套带进制计数方法比如日常使用的十进制就是0-9这10个数字每逢十就会向高位进一。因为人类只有十根手指所以天生地就会想到使用十进制--数到10发现手指头不够用了就只能进位了。你想买的某块显卡价格是 ¥2875那你大概率会把这个价格读作二千 八百 七十 五 而不是简单的二 八 七 五 。这说明不同位置的数字都代表着不同的含义--由于进制所产生的。如果没有进制的出现那你今天可能要用某个奇怪的汉字来描述“2875”这个数字不过没有进制大概率也不会有显卡了。当然也有不带进制的计数方法。比如史前人类所用的结绳记事法----每过一天就在绳子上打一个结通过数绳结的个数就可以知道天数。又比如小时候选班长唱票用的写“正”字计数法通过统计“正”字个数就知道谁能当班长。为什么计算机使用2进制二进制是逢二进一这意味着在二进制系统中只会有二个数--当然现在我们知道是“0”和“1”但是为什么为什么不是“1”和“2”又或者其他“0”和“1”可以直观地理解成“没有”和“有”当然你也可以用其他数字来表示只是没有这么直观而已。“没有”和“有”是自然界最基本的两种状态比如“灯开了和灯没开”、“吃了和没吃”、“睡了和没睡”······经常有人说“你是二极管吗”----意思这人只会单向思考跟二极管只会单向导通一样。要么就是“通有”要么就是“断没有”。计算机在硬件上可以简单地看做是由晶体管等数字电子电路所构成的。数字电路的一个特点就是它只有两个基本的状态“通”和“断”这无疑与二进制完美契合。什么是原码你的Windows操作系统可能是64位的又或者是32位的那么这2个数字意味着什么64 和32指得是CPU的字长即CPU每次能处理64位或者32位的二进制数据。后文为了简化理解我一概将CPU字长假定为8位所以你现在只能使用8位Windows了。对于一个数计算机需要使用一定的编码方式进行存储和处理而原码就是其中一种编码方式。通俗来讲原码可以视为一个数的2进制表示形式。比如十进制数11转化成二进制数就是11--0000_1011其他类推。在8位字长下能表示的2进制数分别是0000_0000--0000_0001--0000_0010--·····--1111_1111即十进制的0-255。这种表示方法有个问题就是无法表示负数。严格来说在十进制中要表示正数应该在前加正号比如数字 正五 5而负数表示则应加上相应的负号如数字 负五 -5。正负号就是我们用来区分数字正负的一种方式。现在糟了人类可以分“正负”但是计算机只有“0”和“1”啊并没有“正”和“负”那么计算机要怎么表示负数把8位字长的某一位通常可以看做是最高位拿出来用“0”和“1”分别来对应“正”和“负”不就完事了吗比如负五-5 1000_0101 负三-3 1000_0011这解决了负数的表示问题却引入了新的问题0000_0000和1000_0000居然分别表示0和-0嗯这也太反数学了吧我们都知道0既不是正数也不是负数那这会咋有一正一负两个0了问题还会出现在计算上正数 正数理论上1 1 2 实际上0000_0001 0000_0001 0000_0010即2--结果无误。负数 负数理论上-1 -1 -2实际上 1000_0001 1000_0001 0000 0010即2--结果错误。正数 负数理论上1 -1 0实际上 0000_0001 1000_0001 1000 0010即-2--结果错误。可见只要计算中出现了负数直接采用原码计算结果就已经不可靠了。而我们人类做这些计算的思维是正数 正数1、直接做加法。2、最终符号为正号。负数 负数1、两个数的绝对值做加法2、最终符号为负号。正数 负数1、判断两个数的绝对值大小2、用较大的绝对值 - 较小的绝对值减法运算3、最终符号取绝对值较大数的符号。在上面的计算中我们把 正数减正数 的减法转换成了 正数加负数 的加法这样做的原因是可以和计算机内部的加法电路统一起来。计算器内部当然可以实现减法电路但是为了减法而单独构建电路无疑会增加成本和系统复杂性所以人们尽可能地想办法把加法和减法用一套电路给实现。此外最高位的符号位也参与了计算同样是为了统一实现电路。什么是补码教科书上一般就是说负数的补码是其反码1。这只告诉了我们怎么求补码但没告诉我们补码到底是个什么东西至于反码我暂时觉得没必要讨论。不如先来聊聊钟表。不知道你们有没有注意过为什么几乎所有的钟表都是12这个刻度却不用0这个刻度明明这俩不就是同一个时间吗钟表几乎都是采用的12小时制而1天却有24个小时所以尽管上面的时间显示是5点但是我却无法知道具体时间到底是上午还是下午。假设现在我们需要把这个钟表从5:00再假设这是上午时间调整到2:00应该怎么做呢方法有两种1逆时针调表法 逆时针方向将时针从 5 调整 到 2这样时针走过的小时数是 5点到 2点共3个小时。2顺时针调表法顺时针方向将时针从 5 调整 到 2这样时针走过的小时数是 5点到12点为7个小时加上12点即0点到2点的2个小时共729个小时。两种方法都可以达到同样的目的而且这两种方法时针所走过的时间数刚好是一个钟表的最大刻度--12小时39这是巧合吗某种程度上逆时针调表可以看做是一个减法即 5 - 3 2。而顺时针调表则可以看做是一个加法即5 9 12 2 14而14 就是24小时制中的下午2点。这说明在12小时进制中14和2的意义是一样的同时还说明减法可以通过某种形式转换成加法减法转换成加法是有限制条件的即这个进制系统是有明确容量的。假设某个钟表是无穷大也就是说它能表示的时间刻度是无限那么你就无法同时通过顺时针与逆时针的调表方式来实现同一个效果了。钟表可以看做是一个简单的12进制系统它所采用的数字我这里借助一下16进制的数字即0-9A十进制数字10和B十进制数字11那么十进制数字14在十二进制应该是12--左边的1表示1*1212个小时而右边的2则表示2*1 2个小时加起来就是12 2 14小时。现在回到顺时针调表的问题假设顺时针转到2:00后再顺时钟转了1圈效果是不是一样的毫无疑问此时仍是钟表刻度2但在数学意义上此时已经是 5 9 12 26了26用12进制来表示就是22--左边的2表示2 * 12 24个小时而右边的2则表示2*1 2个小时加起来就是24 2 26小时。此外可以类推到转两圈的10进制的38小时 12进制的32转三圈的10进制的50小时 12进制的42······12进制的02--12--22--32--42这几个数字在最低位上都是2而最高位每加1则意味着钟表多转了1圈。但是钟表它会告诉你它转了几圈吗不会所以12进制的最高位这个数字对于钟表的使用是没有实际意义的它相当于被舍弃了。现在我们知道在有限容量范围内可以用加法来实现减法所以回头来看计算机的2进制减法。我们仍然实现从5到2这个过程即十进制的 5 - 3 2又或者说 5 9 14 12 2。十二进制的 5 - 3 2在二进制内是 0000_0101 1000_0011 1000 1000结果为 -8显然不行十二进制的 5 9 14 12 2 2舍去最高位表示的12在二进制是0000_0101 0000_1001 0000_1110结果为14同样不行。咦奇怪不是减法转加法吗怎么结果还是不行问题出现在加数9上在表盘中加9是因为减3所走的刻度和加9所走的刻度刚好是一个钟表一圈的刻度即容量。走上一整圈钟表时间向虚拟的高位进位后才会发生虚拟的高位被舍弃现象现在我们做减法的不是12容量的钟表了而是8位字长的二进制数那么容量是多少很简单2^8 256即0-255这256个数字。所以此时就不应该加上912 |-3| 9了而是应该加上253256 |-3| 253了即二进制的 1111_1101。所以5-3 可以转换为 5 256-3 5 253 258 256 2即二进制的1_0000_0010这个结果有9位但是我们的CPU只有8位所以最高位也会被舍去即最终结果为2进制的0000_0010----10进制的数字2结果正确所以补码是为了将减法转化成加法的一种人为规定的对负数的编码形式。补码的英文名是 Twos complement 粗暴点翻译就是 2的补集。这一点可以从其推导方式看出来负数的补码 容量 - 负数的绝对值。比如8位字长CPU能表示的最大容量为 2^8 256所以-1的补码是256 - |-1| 255即1111_1111-15的补码是 256 - |-15| 241即1111_0001其他类推······什么是反码正数的反码一般认为是它自身当然也有人说反码对正数没有实际使用意义正数就不存在反码我对此持赞同意见。负数的反码实现有两种说法说法一负数的反码是将负数原码中除符号位以外的所有位按位取反例如十进制数-42的二进制原码是1010_1010所以反码是 1101_0101。说法二负数的反码是将其绝对值对应正数的原码的所有位按位取反例如十进制数-42的绝对值为42其二进制源码是0010_1010所以反码是 1101_0101。我个人比较赞同这种说法不论说法一和说法二结果都是一样的。任何一对绝对值相同的正数和负数其正数原码与负数的反码相加其值都是全1。例如42原码是 0010_1010-42的反码是1101_0101加起来就是1111_1111。很显然出现这种情况的结果是因为这两个数的每一位都是相反的我想这可能也是反码这个中文译名的由来。反码的英文名叫Ones complement粗暴点翻译就是 1们的补集 或者 多个1的补集。反码本质上是在求一个正数的算术负数也就是说将数字的所有位取反产生的结果与从 0 中减去该值的结果相同。在上节中我们说到负数的补码 容量模 - 负数的绝对值 ----式①。好家伙前面说了半天补码的出现就是为了把减法转换成加法来简化电路结果这里又需要通过减法来求一个数的补码搁这套娃呢别担心这时反码就发挥作用了。8位字长下任何一个负数与其反码相加结果均为全1即 正数原码 负数反码 1111_1111。8位字长下容量是1_0000_0000即2^8 256而1_0000_0000 0_1111_1111 0_0000_0001。也即 容量模 1111_1111 1 正数原码 负数反码 1 ---式② 。结合①②式负数的补码 容量模 - 负数的绝对值 ----①容量模 正数原码 负数反码 1 ---②所以 负数的补码 正数原码 负数反码 1 - 负数的绝对值 正数原码 负数反码 1 - 正数原码 负数反码 1这也就是我们常说的负数的补码等于取反 1 。这样就也把对负数求补码的运算在电路上给转换成了 按位取反 和 加法1 运算了这是数字电路很容易实现的形式。事实上根据取反1来求一个负数的补码只是一种简便方法而并不是一般定义。一般定义仍是 负数补码 模容量 - 负数对应的绝对值。接下来我们就会发现一个数无法使用取反1的方法来求得。-128的补码为什么是1000_0000在8位字长中通过 原码 补码取反 1 和 补码 原码取反1的方法可以求得大多数负数的原码和补码只有一个例外即-128的补码是1000_0000。因为-128在8位字长下是不存在原码和反码的。原码的表示范围是-127~127其中包括0 0000_0000-0 1000_0000。反码的表示范围也是-127~127其中包括0 0000_0000-0 1111_1111。而在补码中却没有0和-0而只有一个0即0000_0000这样在补码中多出来的一个数会表示什么答案显然是-128。从补码的定义看-128的补码 模 - |-128| 256 -128 128即二进制的 1000_0000。从数学连续性上看正数是0000_0000 00000_0001 10000_0010 2~~~~~~~~~~0111_1110 1260111_1111 127而负数则是1111_1111 -11111_1110 -21111_1101 -3~~~~~~~~~~1000_0001 -1271000_0000 -128所以-128的补码天然就是1000_0000而非人为定义。同时在8位字长下-128是不存在原码和反码的自然也就谈不上使用 取反1 的方法了。您有任何问题都可以在评论区和我交流本文由 孤独的单刀 原创首发于CSDN平台博客主页wuzhikai.blog.csdn.net您的支持是我持续创作的最大动力如果本文对您有帮助还请多多点赞、评论和收藏⭐
http://www.w-s-a.com/news/413655/

相关文章:

  • 网站建设费用不用摊销下一页p30
  • 北京 工业网站建设公司国外服务器公司有哪些
  • 怎样局域网站建设盈利网站
  • 公司做网站广告语济南建网站价格消费品展
  • 建德网站网站建设规划设计书
  • 谷歌网站流量分析wordpress置顶浮标
  • 江苏新宁建设集团网站网络规划设计师2023论文
  • 合作建站协议python wordpress采集器
  • 集团网站网页模板网站建设图片大全
  • 举报非法网站要求做笔录wordpress怎么插视频
  • 网站服务器防护如何搭建网站平台
  • 设计师接私活的网站如何做网站的搜索栏
  • ps做图下载网站网站子目录设计
  • 厦门网站制作策划高中生做网站网页
  • 高端品牌网站建设在哪济南兴田德润优惠吗专业定制网站开发公司
  • 怎么做网站卖东西汽车网站排行榜前十名
  • 网站关键字没有排名只有单页面的网站怎么做seo
  • 网站流量盈利模式宝塔没有域名直接做网站怎么弄
  • 淡蓝色网站qq推广中心
  • 设计网站价格餐饮吸引客流的活动方案
  • 手机网站建设电话百度搜索量
  • 条件查询 php网站源码中国白云手机网站建设
  • 网上注册公司流程及材料班级优化大师免费下载电脑版
  • 应用网站如何做营销型网站的重要特点
  • 怎么样百度搜到自己的网站加强社区网站建设
  • 建设网站所需技术wordpress延时加载js
  • 网站建设沈阳搜云seo
  • 怎么申请免费的网站空间微信公众平台注册收费吗
  • 东营网站搭建最基本的网站设计
  • 网站建设技术的发展最近的国际新闻大事