负数补码怎么算?负数的补码
只有有符号的整数才有原码、反码和补码的!其他的类型一概没有。虽然我们也可以用二进制中最小的数去对应最小的负数,最大的也相对应,那样不科学,下面来说说科学的方法。1个字节它不管怎么样还是只能表示256个数,因为有符号所以我们就把它表示成范围-128-127。它在计算机中是怎么储存的呢?可以这样理解,用最高位表示符号位,如果是0表示正数,如果是1表示负数,剩下的7位用来储存数的绝对值的话,能表示27个数的绝对值,再考虑正负两种情况,272还是256个数。定义0在计算机中储存为00000000,对于正数我们依然可以像无符号数那样换算,从00000001到01111111依次表示1到127。那么这些数对应的二进制码就是这些数的原码。到这里很多人就会想,那负数是不是从10000001到11111111依次表示-1到-127,那你发现没有,如果这样的话那么一共就只有255个数了,因为10000000的情况没有考虑在内。实际上,10000000在计算机中表示最小的负整数,就是这里的-128,而且实际上并不是从10000001到11111111依次表示-1到-127,而是刚好相反的,从10000001到11111111依次表示-127到-1。负整数在计算机中是以补码形式储存的,补码是怎么样表示的呢,这里还要引入另一个概念——反码,所谓反码就是把负数的原码除符号位(负数的原码除符号位和它的绝对值所对应的原码相同,简单的说就是绝对值相同的数原码相同)各个位按位取反,是1就换成0,是0就换成1,如-1的原码是0000001(注意这里只有7位,不看符号位,我这里所说的负数符号位都是1),和1的原码相同,那么-1的反码就是1111110(这也是7位,后面加上了符号位都是8位了),而补码就是在反码的基础上加1,即-1的补码是11111110+1=11111111,我们可以算出-1在计算机中是按11111111储存的。一下,计算机储存有符号的整数时,是用该整数的补码进行储存的,0的原码、补码都是0,正数的原码、补码可以特殊理解为相同,负数的补码是它的反码加1。
热点新闻
- 黄宗泽导演游客团游纪实才艺熠熠,贡嘎之旅启
- 哈利波特7死亡圣器
- 外地人可以在当地办旅游签证吗(外地人可以在外
- 退选亚姐孙亚莉因欠债自杀 香港艳星生存状况堪
- 梦中所遇逃亡经历探寻背后的深层含义
- 世界上真的有僵尸吗 科学家终于找到答案了
- 侯佩岑婚前自备贞操带 后悔踢炎亚纶下床欲加戏
- 飞甩鸡毛是什么牌子
- 美孚速霸1000机油性能如何 用户体验如何
- 人工智能百度影音如何改善观影体验
- 徐小凤个唱金光灿烂沪上 大方倾诉事业成功感情
- 如何轻松找到大众喜爱的美文
- 银川滨河新区旅游攻略(银川滨河新区公园在哪里
- 步步惊心宫:如何解锁宫廷情感之谜
- 如何用英语表达曲奇 曲奇英文单词是什么
- 公子小丑:如何理解他的角色魅力与独特之处