码迷,mamicode.com
首页 > 其他好文 > 详细

【二进制的一些操作】

时间:2019-05-07 11:30:46      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:补齐   nbsp   color   string   back   数字   ring   不同   位运算   

<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

 

【二进制的一些操作】

标签:补齐   nbsp   color   string   back   数字   ring   不同   位运算   

原文地址:https://www.cnblogs.com/cocotang/p/10824302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!