二进制表示、用处、计算、逻辑

什么是二进制?

关键在于二,逢二进一。

十进制 2
二进制 10
二进制里面只有 0 1来表示

在计算机里面存储单位

  • 1 bit 位
  • 1 Byte = 8 bit 字节
  • 1 KB = 1024B 千字节
  • 1 MB = 1024 KB 兆字节
  • 1 GB = 1024 MB 吉字节
  • TB PB 等等

加减
在计算加减这一块,我们比较容易理解,如何计算机来进行加减呢?
比如:大家都知道1 + 1 = 2 ;1 - 1 = 0 或者 1 + (-1)= 0。
计算机里面都是 0 和 1 该怎么计算? 我们来看看

	0001    1    
 +	0001  + 1    
 	0010  	2     
 	// 这个时候 + 这个符号我们知道是啥意思,但是计算机里面可没这东西呢,
 	// 以及如何在计算机里面表示 负数? 我们先用一个字节来代表一个数
	0000 0001	// 这是正数 1 这个数也可以表示 有符号或者无符号
	1000 0001   // 这是负数 1 叫 有符号的数
	// 0 在符号里面表示是正数 1 表示是负数 仅对 有符号的数,无符号的数仅代表自身
	
	// 记住一点,符号带来的变化,如何让计算机计算加减并且显示正确的数?
	0000 0001
	1000 0001
  +	1000 0010  // 正确答案应该是 0 才对,用二进制来表示 是 0000 0000 才对,
// 说明此路不同 但是也只能用二进制来进行计算。那该怎么办?
// 接下来 了解 原码 反码 补码这些概念

原码 反码 补码
例如 : 1               -1
原码: 0000 0001 1000 0001
反码: 0000 0001 1111 1110
补码: 0000 0001 1111 1111

可以看出正数1 没有什么变化,只有负数有变化
负数的反码是 除符号位其余取反(1 -> 0,0-> 1)
补码是 在反码的基础上 + 1
使用补码进行计算负数

   0000 0001    // 已知原码 反码 补码相同
+  1111 1111	// 原码 1000 0001 反码 1111 1110 补码 1111 1111
  10000 0000    // 由于我们是用一个字节来计算的也就只有8位,计算后为9位。第一个会舍弃,也就是变成了 0
 

进制的转换
十进制 转 二、八、十六进制

// 10 的二进制表示为 1010
// 10 除 2 取余 
  10/2  5/2  2/2   1
  	0    1	  0	   1
// 转八 十六进制 同理
// 10 的八进制表示为 12
// 10 除 8 取余
  10/8  2	
  	1	2
// 10 的十六进制表示为 A 
  10/16			
    A(10)

二进制转换

//  1010 转 10进制
 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0
 1 * 8	 + 0 * 4   + 1 * 2	 + 0 * 1
 8 + 0 + 2 + 0
 10 
//	1010 转 八进制
1 010	
12
//	1010 转 十六进制
1010
A

// 二进制转八和十六进制,跟二进制转10进制差不多,
// 转八进制时,按照3位一算,转十六进制时按照4位一算

逻辑

 			 或  与  非
符号来表示	 |	 &   !
 或:只有都为 0 则为 0 其他为 1
 与:只有都为1  则为 1 其他为 0
 非:取反操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值