java基础第二天_进制转换原理和补码存储方式

1.负数的表现形式,为什么如此设计?

负数的表现形式是正数取反加一。原理是正负数相加值为0.如此设计正负值相加时首位的1由于超出表示范围会溢出。得到符合补码表示法的正确数值。

比如byte类型的二进制表示的数,1000 0001 + 0111 1111 = (byte类型是8位,第9位是1超过范围)1 0000 0000,所以取前面8位,0000 0000,值就为0了。

--------------------------------------------------

2.-128是在内存中是如何存储的?推算过程?

-128在8位的字节存储结构中=1000 0000,在补码表示法中,1000 0000的补码也是1000 0000,由于它的符号位是1,代表负数则它表示-128。

如果用-127-1的方式推算-128,则过程如下

+127=0111 1111,-127=1000 0001,-128=-127-1=1000 0000

-------------------------------------------------

3.如果字节表示为11111111,则其真实数据是多少?

从符号位来看这是一个负数,先得到它的正数。1111 1111的取反加1为0000 0001,则真实数据为+1

--------------------------------------------------

4.正负数是否都支持补码的方式?

正负数都支持补码的方式

---------------------------------------------------

5.正数是否是负数的减一取反?

是,127=0111 1111=~(1000 0001-1)=~1000 0000=0111 1111

126=0111 1110=~(1000 0010-1)=~1000 0001=0111 1110

125=0111 1101=~(1000 0011-1)  =~1000 0010=0111 1101

时间: 2024-10-02 06:35:51

java基础第二天_进制转换原理和补码存储方式的相关文章

IT十八掌作业_java基础第二天_进制转换原理和补码存储方式

1.负数的表现形式,为什么如此设计? 答: 负数以原码的补码形式表达. 正负数相加得0,溢出最高位,正好等于0. 2.-128是在内存中是如何存储的?推算过程 答: -128二进制的结果是10000000(按照8位算),与原码一样. 3.如果字节表示为11111111,则其真实数据是多少? 答: 11111111的原码是0000 0001,所以11111111的真是数据是-1. 4.正负数是否都支持补码的方式? 答: 都支持 5.正数是否是负数的减一取反? 答: 是.

java第二天_进制转换原理和补码存储方式

1.负数的表现形式,为什么如此设计? 2.-128是在内存中是如何存储的?推算过程? 3.如果字节表示未11111111,则其真实数据是多少? 4.正负数是否都支持补码的方式? 5.正数是否是负数的减一取反? ---------------------------------------------------------- 1.负数的表现形式,为什么如此设计? 负数以原码的补码形式表达. 正负数相加得0 2.-128是在内存中是如何存储的?推算过程 126 01111110 127 01111

java第二天_进制转换原理和补码存储方式作业

1.负数的表现形式,为什么如此设计? 负数以原码的补码形式表达:正负数相加得0 2.-128是在内存中是如何存储的?推算过程? 126 01111110 127 01111111 -126 10000010 -127 10000001 规律是负数减1,推理下 -128 10000000 3.如果字节表示为11111111,则其真实数据是多少? 11111111取反+1 0000 0001 是+1的原码所以真实数据就是-1 4.正负数是否都支持补码的方式? 都支持 +5 源码 00000101 取

学完IT十八掌第1天java进制转换原理和补码存储方式

学习目标: java关键字.运算符.移位运算原理.条件判断.分支语句.分支条件循环.函数 学习方法: 视频学习.动手实验写作业 学习内容: java语法关键字: class    //类 interface //接口 byte      //字节   bit:位 short     //短整型  2个字节 int       //整型    4个字节 long      //长整型  8个字节 float     //浮点型  4个字节 double    //双精度浮点  8个字节 char 

利用java中的BigInteger实现进制转换

[原创] java中的进制BigInteger十分的强大,而且好用,他可以表示任意大的整数,同时还可以进行进制转换,十分的方便, 代码示例: 1 package com.jiajia.demo_1; 2 import java.math.BigInteger;//导入该包 3 public class Demo { 4 public static void main(String[] args) { 5 String str = new BigInteger("15", 10).toS

java中内置的进制转换的方法---小笔记

10进制转换成16进制:Integer.toHexString(int i) 10进制转换成8进制:Integer.toOctalString(int i) 10进制转换成2进制:Integer.toBinaryString(int i) 16进制转换成10进制:Integer.valueOf("",16).toString() 8进制转换成10进制:Integer.valueOf("",8).toString() 2进制转换成10进制:Integer.valueO

java基础:快速的进制转化法

1:8421码是中国大陆的叫法 8421码是BCD代码中最常用的一种. 在这种编码方式中每一位二值代码的1都是代表一个固定数值, 把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码.

java 整型类型和进制转换

类型 占用存储空间 表数范围 Byte 1字节 -128~127 Short 2字节 -215 ~ 215-1 (-32768~32767) Int 4字节 -231 ~ 231-1 (-2147483648~2147483647) 约21亿 Long 8字节 -263 ~ 263-1 System.out.println(Integer.toBinaryString(a)); //整型转二进制 System.out.println(Integer.toOctalString(a)); //整型

Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换

1.关健字 1.1.被Java语言赋予特定意义的单词(如:class,interface,public ,static) 1.2.全部是小写 1.3.注意事项(goto和const作为关健字保留起来) 2.标识符 2.1.给类,接口,方法,变量起名字的字符 2.2.组成规则(A:英文大小写,B:数据,C:$ _) 2.3.注意事项(不能为数字开头,不能是java中的关健字,区分大小写) 2.4.常见的命名规则(见名知意) A:包   全部是小写 单级包:小写 如:peng,com 多级包:小写