二进制补码

Integer类的学习

假如想象 提交于 2020-04-05 14:39:03
自己对照API文档,学习Integer类,如有错误,请指正 最大值 Integer.MAX_VALUE 最小值 Integer.MIN_VALUE 类原始类型 int的 类实例:int Integer.TYPE 用于表示二进制补码二进制形式的 int值的位数:32 Integer.SIZE 用于表示二进制补码二进制形式的 int值的字节数:4 Integer.BYTES Integer类类型:class java.lang.Integer Integer.class 返回指定的int值的二进制补码二进制表示中的1的个数 bitCount 比较两个 int数字值 compare(int x, int y) 来源: 51CTO 作者: keran2 链接: https://blog.51cto.com/12524267/2485002

java中的基本数据类型的转换

自闭症网瘾萝莉.ら 提交于 2020-04-03 10:26:53
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/3700164.html Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。 首先,来了解下数据类型的基本理解:数据是用来描述数据的种类,包括其值和基于其值基础上的可进行的操作集合。 Java中数据类型主要分为两大类:基本数据类型和引用数据类型。 基本数据类型共有8种,分别是:布尔型boolean, 字符型char和数值型byte/short/int/long/float/double。由于字符型char所表示的单个字符与Ascii码中相应整形对应,因此,有时也将其划分到数值型中。引用类型具体可分为:数组、类和接口。因此java中类型的转化分为基本数据类型的转换和引用数据类型的转换,本文将针对 基本数据类型的转换 进行总结. 1.基本数据类型的类型转换 数据类型 所占字节 boolean 未定 byte 1字节 char 2字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节

N11-该数二进制表示中1的个数

不问归期 提交于 2020-04-01 02:23:44
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 package new_offer; /** * 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 * @author Sonya * */ public class N11_NumberOf1 { public int NumberOf1(int n) { String bstring=Integer.toBinaryString(n);// System.out.print("转换成的二进制字符串: "); System.out.println(bstring); char[]ch=bstring.toCharArray(); System.out.print("转换成的二进制数组: "); System.out.println(ch); int count=0; for(int i=0;i<ch.length;i++) { System.out.print("二进制数组: "+i+" "); System.out.println(Integer.valueOf(ch[i])); if(Integer.valueOf(ch[i])==49) count++;//valueof 的值为 字符的ASCLL值 } return count; } /** * 如果一个整数不为0

课堂动手动脑

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-12 16:07:56
1、编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果。 源代码: 1 package tutorial; 2 import javax.swing.JOptionPane; 3 4 public class Option2 { 5 6 7 public static void main(String[] args) { 8 String firstNumber,secondNumber,result; 9 10 int number1,number2; 11 12 firstNumber = JOptionPane.showInputDialog("The first number :"); 13 14 secondNumber = JOptionPane.showInputDialog("The second number :"); 15 16 number1 = Integer.parseInt(firstNumber); 17 18 number2 = Integer.parseInt(secondNumber); 19 20 result = number1 + " + " + number2 + " = " + (number1 + number2) + "\n" + number1 + " - " + number2 + " = " +

进制转换,原码补码反码

扶醉桌前 提交于 2020-01-30 20:10:37
一. 进制转换 1.其他进制到十进制的转换 比如: 十进制 十进制 123=100+20+3 =1* 10^2 + 2 *10^1 +3 * 10^0 =100+20+3 =123 八进制 十进制 123=1 *8^2+2 *8^1+3 *8^0 =64+16+3 =83 这里借用一位老师自己总结的方法: 系数:每一个位上的数据值本身就是系数 基数:x进制的基数就是x 权:针对每一个位上的数据进行编号,从右边,并且是从0开始编号,这个编号就是该位上的权值 结果=每一个位上的系数+基数^权次幂相加 2. 十进制到其他进制 除基取余,直到商为0,余数反转。 练习: 十进制 二进制 20/2=10……0 10/2=5……0 5/2=2……1 2/2=1……0 1/2=0……1 所以二进制为(0b)10100 那么有同学会问,如果x进制到y进制怎么转化呢? 回答:这里我们可以用十进制作为中间桥梁,再采用上述方法进行换算。 下面举个例子: 换算二进制到八进制 思路:(1)二进制到十进制,十进制到八进制 (2)拆分组合法 答:第一种方法:0b1011001=64+16+8+1=89 89/8=11……1 11/8=1……3 1/8=0……1 所以89=0131 第二种方法:三个一组,不够补0,换算成十进制 001 011 001 1 3 1 /* 不同进制数据表现 二进制:由0,1组成

二进制补码

吃可爱长大的小学妹 提交于 2019-12-21 12:44:16
二进制数减法运算,实际上是计算被减数加上模数减去减数的绝对值。 模数:位数能表示的数字数,四位二进制的模为16(0-15)。一位十进制的模为10(0-9)。 模数减去减数的绝对值就是减数的补码,即减数的绝对值按位取反后加1,例如: 1001 —> 0001 —> 1110 —> 1111 上数与 0001 运算后结果溢出为 0000 ,则完成了减法运算。 来源: CSDN 作者: Epimetheus1 链接: https://blog.csdn.net/lotuseaterr/article/details/103642117

机器数,原码,反码,补码,移码

こ雲淡風輕ζ 提交于 2019-12-18 01:58:13
| 版权声明:本文为博主原创文章,未经博主允许不得转载。   在计算机中所有的数据的保存均是用二进制来实现的,而二进制的表示则是一串的0,1组成。而在计算机的表达中有着机 器数和原码,反码,补码和移码等数据的编码表示方法。其中这些编码的方法称为码制。 (1)、机器数 各种数据在计算机中的表示的形式称为机器数,其特点是数的符号用0、1来表示。机器数并不能算作真正的数值。 (2)、真值   机器数对于的实际数值称为该数的真值。也就是带符号的机器数(机器数是不带符号位的);机器数又分为无符号 数和有符号数两种。无符号数表示正数,在机器数中没有符号位。对于带符号数,机器数的最高位是表示正负两种符号 的,其中1表式负数,0表示正数。 1 真值和机器数的区别:(以3为例,总位数为8) 2 机器数: 00000011 表示机器数3,但是不知道是+3还是-3 3 真值: 00000011 表示+3 4 10000011 表示-3 (3)、原码   原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制,如下: 1 1的原码: 2 4 [+1]原 = 00000001 5 7 [-1]原 = 10000001 (4)、反码   反码有两种情况:     》、当原码为正数时,其反码就等于正数的原码(+原码 = +反码) 》、当原码为负数时

计算机组成原理 第二章 习题

隐身守侯 提交于 2019-12-16 17:46:00
2-1 设机器数的字长为 8 位(含 1 为符号位),分别写成下列各二进制数的原码、补码和反码。 0 , -0 , 0.1000 , -0.1000 , 0.1111 , -0.1111 , 1101 , -1101 ____________________________________________ 真值 原码 补码 反码 ----------------------------------------------------------------- 0 00000000 00000000 00000000 -0 10000000 00000000 11111111 0.1000 0.1000000 0.1000000 0.1000000 -0.1000 1.1000000 1.1000000 1.0111111 0.1111 0.1111000 0.1111000 0.1111000 -0.1111 1.1111000 1.0001000 1.0000111 1101 00001101 00001101 00001101 -1101 10001101 11110011 11110010 ------------------------------------------------------------------ 2-2 写出下列各数的原码、补码和反码 7/16, 4

2019-12-12 Java关键字、标识符、注释、常量和进制问题、变量和数据类型

空扰寡人 提交于 2019-12-12 01:16:04
1:关键字 (1)被Java语言赋予特定含义的单词 (2)特点: 全部小写。 (3)注意事项: A:goto和const作为保留字存在。 B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 2:标识符 (1)就是给类,接口,方法,变量等起名字的字符序列 (2)组成规则: A:英文大小写字母 B:数字 C:$和_ (3)注意事项: A:不能以数字开头 B:不能是java中的关键字 C:区分大小写 (4)常见的命名规则(见名知意) A:包 其实就是文件夹,用于把相同的类名进行区分 全部小写 单级包:小写 举例:liuyi,com 多级包:小写,并用.隔开 举例:cn.itcast,com.baidu B:类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName C:方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() D:常量 全部大写 一个单词:大写 举例:PI 多个单词:大写,并用_隔开 举例:STUDENT_MAX_AGE 3:注释 (1)就是对程序进行解释说明的文字 (2)分类: A:单行注释 // B:多行注释 /**/ C:文档注释(后面讲) /** */

记录BigInteger的两个构造方法

谁都会走 提交于 2019-12-09 18:26:09
记录BigInteger的两个构造方法 构造方法: BigInteger​(byte[] val) 先说一下此构造方法是怎么得到结果的: 打印结果可以得出结论: BigInteger 中 toString(进制)方法 构造方法: BigInteger​(int signum, byte[] magnitude) 先说一下此构造方法是怎么得到结果的: --------------------------------------------------------------------------------------------------------------------------------------- 如果着急,可直接拉到最后看结论。如果结论看不懂,可以从头慢慢看起,也查阅别人的相关文档 --------------- 以下全为个人理解,知识有限,理解可能有错,谨慎借鉴 ------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------- 构造方法: BigInteger​(byte