计算机数学 AVA 十进制数:321的含意是3×10×10+2×10+1 二进制数:1101的含意是(等于十进制的13) 1×2×2×2+1×2×2+0×2+1 二进制数 十进制数 二进制数 十进制数 00000000 000111 00 00000001 00001000 789 00000010 00001001 00000011 00000100 00000101 23456 00001010 10 00001011 00001100 12 00000110 0001 13 JAVA
计算机数学 十进制数:321的含意是 31010 + 210 +1 二进制数:1101的含意是 (等于十进制的13) 1 2 22+ 1 22 + 02 +1 二进制数 十进制数 二进制数 十进制数 0000 0000 0 0000 0111 7 0000 0001 1 0000 1000 8 0000 0010 2 0000 1001 9 0000 0011 3 0000 1010 10 0000 0100 4 0000 1011 11 0000 0101 5 0000 1100 12 0000 0110 6 0000 1101 13
AvA 计算机飘学 ○二进制表达式中最左边的位是符号位,标为 s”。当符号位为0时表示正数;为1时表示负 数 ○二进制的负数表示成2的补码形式。 ◎从一个正值如何得到其相应负数的二进制补码 形式? 以4减12为例。二进制的+8表示为0001000。现 在对它反转每一位,即如果是1就变为0,如果是0就变 为1。这样得到0HH,这个数称为H的补码,女 在这个数上加1,可以得到2的补码。I11 在这个数上加1 00000001 得到的结果是 111 JAVA
计算机数学 二进制表达式中最左边的位是符号位,标为 “s”。当符号位为0时表示正数;为1时表示负 数。 二进制的负数表示成2的补码形式。 从一个正值如何得到其相应负数的二进制补码 形式? 以4减12为例。二进制的+8表示为0000 1000。现 在对它反转每一位,即如果是1就变为0,如果是0就变 为1。这样得到1111 0111,这个数称为1的补码,如果 在这个数上加1,可以得到2的补码。1111 0111 在这个数上加1 0000 0001 得到的结果是: 1111 1000
AvA 计算机飘学 +12表示为 00001100 8表示为 11111000 +12加8的结果0000100 +4的二进制恰为0000010。 进位一直到最左边的1,又把它设置成为0 最后有个1,但这不需担心。这可能就是在 我们进行减法以得到8的时候借来的。实 际上,我们是在假定符号为1或0始终在左 边重复。 JAVA
计算机数学 +4的二进制恰为0000 0100。 进位一直到最左边的1,又把它设置成为0, 最后有个1,但这不需担心。这可能就是在 我们进行减法以得到-8的时候借来的。实 际上,我们是在假定符号为1或0始终在左 边重复。 +12表示为 0000 1100 -8表示为 1111 1000 +12加-8的结果 0000 0100
整型数据的亮储范围 B闪大值联的可 (8位) 最小值 10000000 Short|最大值 (16位) 最小值 1000000000000000 Int 最大值 (32位)最小值 00。。。。。 long 最大值 011 G位)小值NM JAVA
整型数据的存储范围 Byte (8位) 最大值 可供用于存储每种类型变量的位数决定了各类型可以 存储的最大值和最小值 0 1 1 1 1 1 1 1 最小值 1 0 0 0 0 0 0 0 Short (16位) 最大值 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 最小值 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Int (32位) 最大值 0 1 1 。。。 。。。 1 1 1 1 最小值 1 0 0 。。。 。。。 0 0 0 0 long (64位) 最大值 0 1 1 。。。 。。。 1 1 1 1 最小值 1 0 0 。。。 。。。 0 0 0 0 s s s s s s s s
整型数据的存储范圆 进制数 十进制数 二进制数 十进制数 00010001 17 10010001 145 127 1111 1111 255 如果使用7位二进制数,可以表示的十进制 数范围为0~127,总共有128个数。若使用8 位二进制数就可以表示256个数字。点 JAVA
整型数据的存储范围 如果使用7位二进制数,可以表示的十进制 数范围为0~127,总共有128个数。若使用8 位二进制数就可以表示256个数字。 二进制数 十进制数 二进制数 十进制数 0001 0001 17 1001 0001 145 … … … … … … … … 0111 1111 127 1111 1111 7 255 2
AvA 变量的赋值初始化 ○声明一个变量后,必须通过赋值语句对 它进行明确的初始化。 ○永远不能使用未初始化变量的值 ○要给一个已声明过的变量赋值,应把此 变量名写在左边,随后是=号,右边是某 个具有恰当值的java表达式。 ○例: int vacation Days;∥声明一个变量 vacationAl=12;∥给变量赋值 JAVA
变量的赋值与初始化 声明一个变量后,必须通过赋值语句对 它进行明确的初始化。 永远不能使用未初始化变量的值。 要给一个已声明过的变量赋值,应把此 变量名写在左边,随后是=号,右边是某 个具有恰当值的java表达式。 例:int vacationDays; //声明一个变量 vacationDay=12; //给变量赋值
AvA 飘据类型之间的逻辑换 char byte short→→int long float double 实线箭头表示了无信息损失的转换。 虚线箭头表示转换可能会丢失信息。 自动转换可能按照从左到右的顺序进行如果希望进行反 换,就必须使用造型
数据类型之间的逻辑转换 char byte long float double short int • 实线箭头表示了无信息损失的转换。 • 虚线箭头表示转换可能会丢失信息。 • 自动转换可能按照从左到右的顺序进行如果希 望进行反方向的 转换,就必须使用造型
AvA 飘据类型之间的逻辑换 ○当使用二元运算符把两个值结合到一起时 在进行运算前两个操作数会自动转换成相同的 类型。 ○只要两个操作数中有一个是 double类型的,则 另一个将会转换成 double类型。 ○否则,只要两个操作数中有一个是0at类型的, 则另一个将会转换成a类型。 ○否则,只要两个操作数中有一个是ong类型的, 则另一个将会转换成ong类型 ○否则,两个操作数都将转换成int类型 JAVA
数据类型之间的逻辑转换 当使用二元运算符把两个值结合到一起时,, 在进行运算前两个操作数会自动转换成相同的 类型。 只要两个操作数中有一个是double类型的,则 另一个将会转换成double类型。 否则,只要两个操作数中有一个是float类型的, 则另一个将会转换成float类型。 否则,只要两个操作数中有一个是long类型的, 则另一个将会转换成long类型。 否则,两个操作数都将转换成int类型
造型 往java中,数据转换是可能的,当然,信息可能会 丢失。 在可能丢失信息的情况下进行的转换是通过造型 (cast)来完成的。 ●造型的语法是在圆括号中给出要转换成的类型,随 后是需转换的变量名。 例: double x=9.997; int nx=(int)Math. round(x) 此时变量nx的值为10。当调用 round方法时 仍需要使用造型(in。因为 round方法的返回值是 long类型的,由于有丢失信息的可能,所以只有使 用明确的造型才能把0ng类型转换成in类型。 JAVA
造型 在java中,数据转换是可能的,当然,信息可能会 丢失。 在可能丢失信息的情况下进行的转换是通过造型 (cast)来完成的。 造型的语法是在圆括号中给出要转换成的类型,随 后是需转换的变量名。 例:double x=9.997; int nx=(int)Math.round(x); 此时变量nx的值为10。当调用round方法时, 仍需要使用造型(int)。因为round方法的返回值是 long类型的,由于有丢失信息的可能,所以只有使 用明确的造型才能把long类型转换成int类型