c语言位运算十六进制转二进制,进制转换与位运算

0进制转换和位运算

计算机中存储单位

什么是bit

bit是计算机中最小的信号但愿,可以表示高电平或者低电平。

以二进制“001”为例, 每一位都是一个bit。二进制只能由0/1组成,所以正好可以表示bit。

什么是byte

1个bit只能表示两种信号或者两种状态,表示的范围很小,例如英文字母26个就无法表示。所以规定8个bit一组作为一个数据的最小单元。即8bit=1byte。ASCII码表中的一个字符为一个byte。

1位二级制数可以表示的状态的个数是2种。0 1

2位二进制数可以表示的状态的个数是2的2次幂。00 01 10 11

3位二进制数可以表示的状态的个数是2的3次幂。

8位二进制数可以表示的状态的个数是2的8次幂。也就是256种。

1kb=1024byte

1mb=1024kb

1gb=1024mb

1tb=1024gb

写法和程序输出方式

不同进制的写法(c语言和java语言)

二进制由0,1组成。以0b开头

//合法的二进制

int a = 0b101; //换算成十进制为 5

int b = -0b110010; //换算成十进制为 -50

int c = 0B100001; //换算成十进制为 33

//非法的二进制

int m = 101010; //无前缀 0B,相当于十进制

int n = 0B410; //4不是有效的二进制数字

八进制由0-1组成,以0开头

//合法的八进制数

int a = 015; //换算成十进制为 13

int b = -0101; //换算成十进制为 -65

int c = 0177777; //换算成十进制为 65535

//非法的八进制

int m = 256; //无前缀 0,相当于十进制

int n = 03A2; //A不是有效的八进制数字

十六由0-9、a-f组成进制以0x开头

//合法的十六进制

int a = 0X2A; //换算成十进制为 42

int b = -0XA0; //换算成十进制为 -160

int c = 0xffff; //换算成十进制为 65535

//非法的十六进制

int m = 5A; //没有前缀 0X,是一个无效数字

int n = 0X3H; //H不是有效的十六进制数字

二进制数、八进制数和十六进制数的输出

short

int

long

八进制

%ho

%o

%lo

十进制

%hd

%d

%ld

十六进制

%hx 或者 %hX

%x 或者 %X

%lx 或者 %lX

#include

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值