逢2进1的计数规则(重要)
2进制
规则 : 逢2进1
数字 : 0 1
权 : 128 64 32 16 8 4 2 1
基数 : 2
10进制计数规则
10进制
规则 : 逢10进1
数字 : 0 1 2 3 4 5 6 7 8 9
权 : 万 千 百 十 个
基数 : 10
计算机为啥是2进制? 便宜 ! ! !成本优势明显! ! !
如何将2进制转换为10进制 : 将1位置对应权值累加求和
00000000 00000000 00000000 00000001 = 1
00000000 00000000 00000000 00000010 = 2
00000000 00000000 00000000 00000011 = 2+1 = 3
00000000 00000000 00000000 00000100 = 4
00000000 00000000 00000000 00000101 = 4+1 = 5
00000000 00000000 00000000 00000110 = 4+2 = 6
00000000 00000000 00000000 00000111 = 4+2+1=7
00000000 00000000 00000000 00001000 = 8
00000000 00000000 00000000 00001001 = 8+1=9
00000000 00000000 00000000 00001010 = 8+2=10
00000000 00000000 00000000 00001011 = 8+2+1=11
00000000 00000000 00000000 00001100
00000000 00000000 00000000 00001101
00000000 00000000 00000000 00001110
00000000 00000000 00000000 00001111
00000000 00000000 00000000 00010000
...
00000000 00000000 00000000 00011001 = 16+8+1=25
...
00000000 00000000 00000000 01101000 = 64+32+8=104
...
package
binary
;
public class
Demo01
{
public static
void
main
(
String
[]
args
)
{
/*
*
如何查看整数的
2
进制存储情况
* - java
编译时候,将数字编译为
2
进制数
字
* -
运行期间变量中存储的是
2
进制数
* -
输出变量时候,
Java
利用
API
方法,将
2
进制转换为
10
进制字符串
*
利用
valueOf
方法转换!
* - Integer.toBinaryString(n)
将整
数
n
在内存中
2
进制情况显示出来
*/
int
n
=
50
;
//n=110010
System
.
out
.
println
(
n
);
//
利用
valueOf
转换
2
进制为
10
进制字符串输出
System
.
out
.
println
(
Integer
.
toBinaryString
(
n
));
System
.
out
.
println
(
Integer
.
toBinaryString
(
104
));
/*
*
输出
0~200
的
2
进制, 手工计算
20
个数的
10
进制值,编程验证
*/
for
(
int
i
=
0
;
i
<
200
;
i
++
){
System
.
out
.
println
(
Integer
.
toBinaryString
(
i
));
}
}
}
什么是16进制
逢16进1的计数规则
16进制用途 : 16进制用于缩写2进制
= 2进制书写非常繁琐
= 16进制的基数是2进制的基数4次方,2进制每4位数可以缩写为1个16进制数
package
binary
;
public class
Demo02
{
public static
void
main
(
String
[]
args
)
{
/*
* 2
进制与
16
进制
* - Java7
提供了
2
进制字面量前缀
0b
*
可以在数字中添加下划线,不影响数值
* - 2
进制直接书写非常繁琐
* - 16
进制缩写
2
进制就非常方便
*
从
2
进制的最低位开始, 每
4
位数缩写为
1
位
16
进制数
补码
计算中一种表示有符号数编码,其核心思想就是将固定
位数
2
进制分一般作为负数。
如何将固定位数
2
进制分一半作为负数?
以
4
位
2
进制数讲解如何设计补码
* - 0x
是
16
进制的前缀
* -
计算内部没有
10
进制,没有
16
进制,只有
2
进制!
*/
int
n
=
0b11_0010
;
//32+16+2=50
System
.
out
.
println
(
n
);
n
=
0b0001_1001_1111_0001_0100_0011_1111_0101
;
// 1 9 f 1 4 3
f 5
System
.
out
.
println
(
Integer
.
toBinaryString
(
n
));
n
=
0x19f143f5
;
System
.
out
.
println
(
Integer
. <

博客介绍了二进制和十进制的计数规则,二进制逢2进1,数字为0、1,基数是2;十进制逢10进1,数字为0 - 9,基数是10。还说明了计算机采用二进制是因成本优势,以及二进制转十进制的方法是将1位置对应权值累加求和。

851

被折叠的 条评论
为什么被折叠?



