搞搞字节,byte的小知识

本文探讨了计算机中0和1的基础,二进制单位,进制转换,特别是负数在计算机中的表示方式,重点介绍了2的补码的概念,以及其在减法运算中的作用。此外,还提到了变长编码如UTF-8,为理解LEB128编码铺垫。
摘要由CSDN通过智能技术生成

0和1

0和1是计算机的基石,000111111...

本文讲讲其中的一些小细节,小知识点,2's complement, 变长编码,等等,不定期补充更多的小知识点。

大部分只有写特别的代码才会接触,而如果你掌握其中的思想,那么就能以不变应万变。

阅读完本文,就会明白

  • 负数在计算机怎么被表示,为什么要用2的补码来表示?
  • 为什么2的补码是取反码,然后加上1?
  • 知道一个数,怎么求它的2的补码?
  • 知道2的补码,怎么知道原来的数是多少?
  • UTF-8是怎么理解?
  • LEB128又是什么?
  • 自然数和它的表示形式有什么区别?

二进制单位

bit,中文译为位,是指0或者1两个状态,是二进制中是最小的单位。

byte,即字节,有8个位。

当用16进制表示的时候,0xAB是一个byte,但是看起来是有两个数字。其中一个数字表示4bit。

一位叫bit,8位叫byte,猜猜4位叫什么?答案,是nibble。用得比较少。但是我还是喜欢它,因为它对应着16进制的时候的一个数字,比如一个字节0xAB, A或者B就是一个nibble.

进制和转换

我们大部分人熟悉的是10进制。0,1,2,3,4,5,6,7,8,9。

135代表着1*10^2 + 3 *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值