进制与运算符

本文详细介绍了二进制与十进制之间的转换方法,包括整数和小数的转换规则,并列举了Java中的逻辑、算数、位和特殊运算符如按位与(&amp;),按位或(|),异或(^),左移(<<),右移(>>),取反(~)的运算规则和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进制与运算符

进制转换

二进制转换为十进制

整数二进制转换为十进制

## 运算规则是 当前位数上的值 * 2 的位数次幂; 从右到左 从0次幂开始;

0000 0011 -> 十进制  3
	0*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 =3
	当前位数上的值 * 2 的位数次幂; 从右到左 从0次幂开始; 任何数的0 次幂 (0除外) 都为1

小数二进制转换为十进制

## 运算规则是 整数部分 从个位开始 ,下标为0,依次向左为+1; 依次向右为-1 -2 ...
0001 0101.01B ----> 转为十进制为 21.25
	整数部分	0*2^7 + 0*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 
	小数部分	0*2^-1 + 1*2^-2
	结果为		0*2^7 + 0*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 + 0*2^-1 + 1*2^-2 = 	21.25	
十进制转换为二进制

整数十进制转换为二进制

## 转换规则是 十进制的数 除于2 取余数 ,直到商为0 ,余数从下往上依次取值,剩余位补0;

9---> 二进制  1001
	十进制 除2 取余数,知道 商为0  
    					9/2	商为4	...1  
						4/2	商为2	...0	
						2/2	商为1	...0
						1/2	商为0	...1
	然后从下到上 依次连接 余数 就是二进制的数  则为 1001

小数十进制转换为二进制

## 转换规则是 十进制的 小数部分 乘于2 取乘机的整数部分,直到取到符合题意 ; 依次取整数部分
0.15 ---> 
		十进制小数部分 乘于2 取整数部分
						小数部分		 乘积		整数部分
						0.15*2	--->	0.30	0
						0.30*2	--->	0.60	0
						0.60*2	--->	1.20	1
						0.20*2	--->	0.40	0
						0.40*2	--->	0.80	0
						0.80*2	--->	1.60	1
						0.60*2	--->	1.20	1
						....			...		...
						
	所以 转化为二进制 为 0.00100110011001100110011001100110011001100110011001101

运算符

Java 运算符大致分为
	逻辑运算符	(&&,||,!)
	算数运算符(+, -, *, / ,+=)
	位运算符(^,|,&)
	其他运算符(三元运算符)


& (按位与)
## 运算规则: 遇0则0

按位与是将 十进制 --> 转换为二进制  ; 然后对二进制进行按位与预算 ;		 运算规则是 	 遇0 则0
	
	比如:3 & 5  ----> 0011&0101		对应运算规则遇0则0    ---> 0001  --> 转换为十进制为 1
	所以: 3 & 5 =1
|(按位或)
##  运算规则: 遇1则1

按位或也是将 十进制的数--> 转化为二进制; 然后对二进制的数进行 按位或运算;	 运算规则是	 遇1则1;
	
	比如 3|5	---->	0011|0101	按照对应的规则是 	0111 -->转换为十进制为 	7
	所以 3|5 =7
^(异或运算符)
## 运算规则:相同的为0,不同为1

异或运算符 也是将十进制---> 转换为二进制;然后对二进制进行 异或运算;		 运算规则是	相同的为0,不同为1
	
	比如3^5--->	0011^0101	对应的规则 相同为0,不同为 0110	---> 转换为十进制为  6
	所以3^5=6
<<(左移运算符)
## 运算规则: 二进制整体向左移动n位,然后末位补0;

左移运算符 也是将十进制转换为二进制; 然后对二进制 进行 左移; 			 运算规则是	二进制整体向左移动n位,然后末位补0;
	
	比如 5<<2  --> 转为二进制	0000 0101   按照对应的规则 0001 0100 	整体向左移动两位,然后 最后的两位是补充的0  ;转为十进制 20
	所以 5<<2 = 20
	
	比如 5<<3  --> 转换为二进制为 0000 0101   按照对应的规则 0000 0101  	整体向左移动三位  0010 1000 ; 后三位补充0; 转为十进制为 40
	所以 5<<3 = 40
>>(右移运算符)
## 运算规则是 二进制向右移动n位,然后首位补0;

右移运算符 也是将十进制 转换为二进制; 然后对二进制进行右移n 位,  	运算规则是 二进制向右移动n位,然后首位补0;
	
		比如5>>2 ---> 转换为二进制为 0000 0101  按照对应的规则 右移两位  0000 01  然后首位补0 --> 00 0000 01  转为十进制为1
        所以5>>2 =1
        
        比如5>>3 ---> 转化为二进制 0000 0101  对应的规则 右移3位 00000  --> 首位补0  ----> 00000000  转为十进制0
        所以5>>3 = 0

~(取反运算符)
取反运算符 也是将十进制转换为二进制; 然后对二进制进行取反 --> 比如 1 ->0 ; 0->1   运算规则是 遇0取1、遇1取0;
		
		比如 ~5 ---> 转换为二进制 0000 0101  ------> 取反 1111 1010  转换为十进制为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值