栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于进制问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于进制问题

进制

二进制
0B或0b开头
八进制
0开头
十六进制
0X或0x开头

三码

原码、反码、补码
计算机底层以补码形式存储数据

正数反码、补码与原码相同,负数是除符号位外取反

八位二进制数为1111 1111~0111 1111,-127~ -0 ~ +0 ~127,其中包含1000 0000和0000 0000 ,即-0、+0

-0反码应该是1111 1111=-127,-127反码应该是1000 0000=-0

反码 -127 ~ -0 ~ +0~127(对应原码是-0 ~ -127 ~ +0 ~ 127)
补码-128~ -1 ~ +0 ~ 127(-0反码+1后为 1 0000 0000,进位舍弃,即0000 0000,此时-0补码与+0补码相同,到现在为止1111 1111~0111 1111中,只有1000 0000还没有,所以人为规定+0补码0000 0000,-0没有补码,而1000 0000=-128)

byte范围-128~127(计算机以补码形式存储数据)(在计算机中对应的补码1 0000 0000(-128)、1000 0001(-127)、1000 0010(-126)……
1111 1111(-1)、0000 0000(0)……0111 1111(127))

于是10+0=10;125+3=0111 1101 + 0000 0011=1000 0000=-128(正向溢出);
-127-2=1000 0001+1111 1110=1 0111 1111=0111 1111=127(逆向溢出);

求补码

当X为负数时
[X]补=256-|X|(因为这样可以保证X+|X|=0,即[X]补+|X|=1 0000 0000舍弃1,0000 0000=0)

以上自学所用,还有点糊涂,不保证正确性

计算机补码执行加减运算,使用了模N加减法

下面链接是为什么选择补码存储数据
https://www.zhihu.com/question/20159860

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号