栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

神奇的二进制转换和运算

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

神奇的二进制转换和运算

二进制的运算 正整数和二进制互转

二进制如何区分正负?

二进制位左边首位为0为正数,例如:6 --->00000110;1为负数,例如:-6---->11111010

正整数转二进制的过程(以6为例):模2取余直到商为0

注意:在计算机中存储字节是定长的,即我们8、16、32位等等,6的二进制位为110,但如果在8位计算机中是00000110,高位补零

二进制转正整数的过程(以6为例):从右到左,逐位多乘2

负整数和二进制互转

负整数转二进制的过程:用对应正整数转二进制后,取反加1

二进制转负整数的过程:取反加1,再加上负号

-6的二进制位为11111010,取反为00000101,然后加1为00000110,110为6,故值为-6

小数和二进制互转

小数转二进制的过程:整数部分按正负整数正常转换;小数部分将小数不断乘2,不足1添加一个位0,满足1添加位1。

小数转二进制,先把整数为转换成二进制,然后把小数位转换(小数为换算每次乘2,不足1为0),最后相加,6.25的二进制为110.01

二进制转小数的过程:整数小数分别反向计算后相加

位运算 $按位与

|按位或

^按位异或

~取反

<<左移

>>右移

>>>(无符号右移运算符)

常用位运算操作
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/656679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号