补码的零碎东西

补码的产生原因:10000000被规定成了-128

使用补码的原因:化减法为加法和避免-0

注意点:取反符号位不取反,但not符号位要去反;进位时符号位也要进位;10000000被规定了是-128;0的补码是0

补码反码的储存方式:计算机用$0000到$7FFF依次表示0到32767的数,剩下的$8000到$FFFF依次表示-32768到-1的数。32位有符号整数的储存方式也是类似的。稍加注意你会发现,二进制的第一位是用来表示正负号的,0表示正,1表示负。这里有一个问题:0本来既不是正数,也不是负数,但它占用了$0000的位置,因此有符号的整数类型范围中正数个数比负数少一个。对一个有符号的数进行not运算后,最高位的变化将导致正负颠倒,并且数的绝对值会差1。也就是说,not a实际上等于-a-1。这种整数储存方式叫做“补码”。

11111111+01111111=01111111-10000001(原)=-254

01111110:126

01111111:127

10000000:-128

10000001:-127

(不是因为补码的性质,10000000才是-128,而是-128创造出了补码)

时间: 2024-10-13 21:49:03

补码的零碎东西的相关文章

IOS要用到的零碎东西

有些东西虽然不重要,但是零零碎碎会用到,就做个笔录吧: 协议中有2个关键字可以控制方法是否要实现(默认是@required),在大多数情况下, 用途在于程序员之间的交流 @required:这个方法必须要实现(若不实现,编译器会发出警告) @required - (void)test; - (void)test2; @optional:这个方法不一定要实现 @optional - (void)test3; @synthesize 的语义是如果你没有手动实现 setter 方法和 getter 方

对大众点评网会员制的一点分析

前言:会员制的初体验 前段时间搬家,无意中箱子翻倒,各种零碎东西撒了一地,一个红色的小书本特别醒目,封皮上写着<上海美食指南>,我不由自主的把它捡起来,脑子里却闪现出四个大字"大众点评"! 时光仿佛一瞬倒流回二零零五年.那时的我刚毕业没多久,揣着一颗有梦想的心来大上海闯荡.头几年收入偏低自然是囊中羞涩.但是开门七件事,柴米油盐酱醋茶,人不能不吃饭呀,尤其我还是个嘴叼的吃货?为了让每一分钱都用到刀刃上,工作之余就会利用互联网的便利去搜索,看看哪里有又好吃又便宜的馆子?然后发现

在国企的日子(第五章 江湖)

天下风云出我辈, 一入江湖岁月催: 皇图霸业谈笑中, 不胜人生一场醉. 任我行曾经说过,有人的地方就有恩怨,有恩怨就有江湖,人就是江湖.程序员的世界同样有江湖.这是我人生中第一次在程序员的世界接触江湖,若干年后回忆起来,我才想明白,其实从我踏入这个公司的第一天开始,我已经是江湖中人.四月,依旧携一丝清冷.坐在办公室,穿上外衣觉得热,脱掉又觉得冷,只好把衣服披上,倒有几分大侠的风范.连续一周的时间,无风无雨也无晴,大家都各自在忙自己的事情,对于我来说,有时候清闲也是一种痛,痛到极致,就是恐惧.超哥

壊れた時計

周旋屋 「しゅうせんや」 代理店,经纪人 長ける 「たける」 擅长,在某方面非常优秀 手堅い 「てがたい」 踏实,坚实,靠得住,脚踏实地 インターチェンジ interchange ;交换,交替 高速路出入口 半端 「はんぱ」 零头,零星:不彻底:零数:无用的人 口外 「こうがい」 说出,泄露 引き裂く 「ひきさく」 撕裂,撕开,撕破 滞納 「たいのう」 滞纳,拖欠,逾期未缴 下手に無心でも 彫像 「ちょうぞう」 雕像 締めくくる 「しめくくる」 系紧,扎紧 俯き加減 ???? 庇 「ひさし」 帽

跑步穿过中关村

1 我出来啦.敦煌张开嘴想大喊一声,一个旋风在他面前升起来,细密的沙尘冲进他的鼻子.眼睛和嘴,只好先打喷嚏,然后揉眼睛.小铁门在他身后咣关上了.他把嘴里的沙土吐出来,旋风已经跑远了.他歪着脑袋看天,迷迷蒙蒙一片黄尘,太阳在尘土后面,温润平和,只是有点糙,像一块打磨过的毛玻璃.阳光一点都不刺眼,敦煌还是流了泪,怎么说也是阳光.又有股旋风倾斜着向他走过来,敦煌闪身避开了.这就是沙尘暴.他在里面就听说了.这几天他们除了说他要出去的事,就是沙尘暴.敦煌在里面也看见沙尘扬起来,看见窗户上和台阶上落了一层黄

计算机为什么要搞出“补码”这种东西?

计算机为什么要搞出"补码"这种东西? 本文阐述两个问题 ①计算机为什么要搞出个"补码"?不嫌麻烦? ②为什么-128的补码是10000000? 计算机为什么要搞出个"补码"? 先回顾一下补码是什么: |--正数的补码是其本身(二进制原码) |--负数的补码是在原码的基础上,符号位不变,其余位取反后加1. 为什么好好的"原码"不用,非搞个"补码"出来?顺带还迁出个"反码"-- 究其原因,主

补码到底是个什么东西

概述 先引入一个前提,在计算机中数字是以二进制进行存储的,也就是我们看到的2,在计算机中存储的是10.我们进行的加法运算 2+1=3 在计算机中是这样的(这里先假设计算机存储的是4位二进制数字) 0010+0001=0011 很容以看的出来,4为二进制数能表示的最大数字是1111,就像两位十进制数表示的最大数字是99一样.那如果在进行加法运算时,结果超出存储的容量怎么办?比如:9+9=18 二进制表示为:1001+1001=10010,但是,因为只能存储4位数的原因,最高位丢了,结果变成了 00

Yii2中一些零碎的东西

$data[]=$model->product_id; $query=orderItems::find()->orwhere(['product_id'=>$data]); <?php $form = ActiveForm::begin(['fieldConfig' => Yii::$app->params['defaultFieldConfig']]); ?>

table-layout 显示规则以及其他一些零碎的东西

首先对中文显示的不够好 对中文失效 auto是表格的宽和高都会随着内容增多而改变  而fixed只会增加表格的高度   宽度不会发生改变 table中的td的宽,高会根据内容的多少而变化: fixed:如果内容是中文的话td的宽度固定,高度根据内容的多少而变化,没有限制.如果是英文的话,宽高不变,内容宽度如果超出就会溢出. 一,border:外边框:二,vertical-align: 1 top/middle/bottom; 2,默认:middle:,三,border-collapse: 1,可