【C语言】操作符详解及 二进制,八进制,十进制,十六进制的转换

金时虚度不觉察,技到用时慌匮乏。劝君莫生无用悔,一分一秒惜年华。


前言

操作符,是一个很容易被忽视,被遗忘的知识,所以,yena将这个知识点整理出来,供大家和自己随时查阅和巩固。


1.移位操作符

1.1 代码基础介绍

1.1.1 二进制,八进制,十进制,十六进制

1.1.1.1 二进制

二进制由数字 0 1 组成,例如00000101,计算方法为从右向左看

从右向左分别是1*2^0,0*2^1, 1*2^2,……相加,得出次二进制代码等于5.

在这里插入图片描述

1.1.1.2 八进制

8进制由数字0~7 组成。
二进制转八进制:二进制代码从右向左,每3位二进制数转为1位8进制。
第一步:分组,从右至左,每三位一组,不够三个数在左边补0.
第二步:计算出每一组的值,每一组按2的0次方,2的1次方,2的二次方计算,例如第一组是2+4=6.
第三步:将每组的值合到一起,就是转换后的8进制。如下,转换后的8进制为146

在这里插入图片描述
8进制转十进制:如下图,将8进制数146 转为十进制。
在这里插入图片描述

1.1.1.3 十进制

十进制数由数字0~9构成,和数学中的数字计算意义无异。
十进制转二进制:如下图,方法是除2取余数,最后从下至上,写下来,就是转换后的二进制数在这里插入图片描述

1.1.1.4 十六进制

十六进制代码由数字0~9,和字母A–F构成,A–F代表数字10–15.
二进制转十六进制:如下图,将二进制代码从右至左,每四位一组,不足时补0.计算出每一组的值,合起来就是转换后的十六进制。十六进制一般以0x开头。
在这里插入图片描述
十六进制转十进制,方法与八进制转十进制相同。
在这里插入图片描述

1.1.2 原码,反码,补码

二进制代码最高位为符号位,最高位为0,此数为正数,最高位为1,说明此数为负数。
正数的原码反码补码都是本身。
负数的反码:符号位不变,其余按位取反
负数的补码:反码加1.
如下图实例。
注意:编译系统中,储存的是补码,打印出来的是原码
在这里插入图片描述

1.2 左移操作符,<<

1.2.1 正数左移

5<<1,方法为5的补码左边删去1位,右边补0.
如下示例,将此二进制代码向左移一位,右边补0。大家可以在编译器上自行编写检验。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值