二进制的一些操作

Posted cocotang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制的一些操作相关的知识,希望对你有一定的参考价值。

<1>二进制与十进制互转

十进制转二进制

例子:13 -> 1101     

13/2=6余1

6/2=3余0

3/2=1余1

1/2=0余1

那么13用二进制表示为 1101 (倒序排列余数 不足的用0补齐 00001101) 

二进制转十进制   

例子:1101 -> 13  可以在C#里面声明为 int num = 0b1101 或者 string num = "00001101"

补齐00001101

13 = 0*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 0+0+0+0  +8+4+0+1

 

<2>位运算

~ 逻辑非运算 00001101 -> 11110010  即 1取0   0取1

& 逻辑与运算 00001101&00000011 -> 00000001 即1&1取1   1&0取0  0&0取0

| 逻辑或运算  00001101&00000011 -> 00001111 即1&1取1   1&0取1  0&0取0 

^ 逻辑异或运算 00001101&00000011 -> 00001110 即1&1取0   1&0取1  0&0取0   相同取0 不同取1

<< 左移运算 00001101 -> 01101000 即 把每一位向左移3位 等于把原始数字*2^3 = 13 * 2^3

>> 右移运算 00001101 -> 00000001即 把每一位向右移3位 等于把原始数字/2^3 = 13 / 2^3

 

以上是关于二进制的一些操作的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法让我的二进制文件对 Linux 中的一些全局热键做出反应?

Python中的二进制文件相关操作

[Language]Python中的二进制文件相关操作

C语言进阶文本与二进制操作文件,优化通讯录。

十六进制字符串操作

039_MySQL 数据操作