电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java為什么使用補碼進行計算的原因分析

瀏覽:3日期:2022-08-26 13:17:06

我們主要要解決的問題就是負數的表示,而眾所周知,絕對值相等的兩個正負數之和為0。

假設我們有正數 0000 0000 0000 1111,我們如何表示其相反數呢?一般我們的思路是,找一個數,跟它相加的結果等于0,但是我們發現,要找出一個與它相加后結果等于0的數還是要略加思考一下的(因為要計算進位),所以,為何不找出一個與它相加后結果是1111 1111 1111 1111的數,然后該數+1即是我們所要的答案啦。

于是,很容易的, 0000 0000 0000 1111 + 1111 1111 1111 0000 + 1 = 1111 1111 1111 1111 + 1 = (1)0000 0000 0000 0000

一目了然,1111 1111 1111 0001 就是我們想要的答案了,那么我們是怎么得到這個相反數的呢?

首先,找出一個數與它加起來結果是全1的,這個數便是它的反碼,然后這個數再加1,這便是它的相反數了,也是我們說的補碼。

我們檢驗一下0的情況,0000 + 1111 + 1 =(1)0000,其中1111 + 1 = (1)0000 = 0000,即+0和-0的二進制表示均為0000。

一個小小的例子解釋了為何補碼需要原碼取反之后再加1,是不是很神奇?

補充知識:java 原碼、反碼、補碼計算 以及 取反(~)運算

1. 原碼、反碼、補碼:

(1)在Java中,所有數據的表示方式都是以補碼形式來表示

(2)正數:原碼、反碼、補碼相同

(3)負數:符號位為1,其余各位是對原碼取反,然后整個數加1

(4)~按位取反(反碼加1稱為補碼。)步驟就是先求出這個數(因為java存的數是補碼)的原碼,然后對原碼取反得到X,這個X就是我們要求的那個數的補碼

2. 取反(~)運算

(1)n=37 ,二進制數就是 100101

因為在Java中,所有數據的表示方式都是以補碼形式來表示,如果沒有特別的說明,Java 中的數據類型默認為int,int數據類型的長度為4個字節,就是32bit的意思,因此,n=100101的原碼=補碼(因為是正數,所以原=補=反)運算過程就是:

原碼:00000000 00000000 00000000 00100101 =37

~n(對n的原碼) 取反運算得: 11111111 11111111 11111111 11011010 很明顯,最高位是1,意思是取反后的數字為負數,負數的補碼是其絕對值的原碼取反,末尾再加1,因此,我們可將這個二進制數的補碼進行還原:

首先,末尾減1得反碼:11111111 11111111 11111111 11011001

其次,將各位取反得原碼:00000000 00000000 00000000 00100110 這個就是~n的絕對值形式,|~n|=38 ,

所以,~n=-38,這個就是Java虛擬機的運算結果

(2)n= - 4, 取反 (~-4)。注意:Java中,所有數據的表示方式都是以補碼形式

補碼:10000000 00000000 00000000 00000100 (java所有數據的表示方式都是以補碼形式,所以把-4用二進制表現出來就是某個數的補碼,只是我們看到的是-4)

反碼:10000000 00000000 00000000 00000011

原碼:11111111 11111111 11111111 11111100

對原碼取反:00000000 00000000 00000000 00000011 (3)

因為是正數,所以補碼等于原碼等于反碼= 3,所以~-4 = 3

以上這篇Java為什么使用補碼進行計算的原因分析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 杭州ROHS检测仪-XRF测试仪价格-百科 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 酵素生产厂家_酵素OEM_酵素加盟_酵素ODM_酵素原料厂家_厦门益力康 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 27PR跨境电商导航 | 专注外贸跨境电商| 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 房间温控器|LonWorks|海思 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 万博士范文网-您身边的范文参考网站Vanbs.com | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 |