03,二进制基础


一个字节分为八位,每位可以记录一个0或1

用一组0或1表示数字的方法叫做二进制表示方法



****************************************************

1:十进制的非负数转换成二进制的方法

利用短除法就行运算,算出的结果从下到上,从左到右写出即可得出结果

比如:12的二进制

12    0
6    0
3    1
1    1

结果:0000 1100


****************************************************

2:负数的二进制和十进制不能直接转换,需要借助相反数
需要分三步:
    1:计算相反数
    2:根据相反数就行转换
    3:根据转换结果再计算相反数

把二进制数字中每个数位的内容变成相反数字然后加一就可得到相反数的二进制


比如:-14转换成二进制

1.转换成正数:        14
2.转换成二进制:    0000 1110
3.就行取反运算:    1111 0001
4.就行+1运算:      1111 0010


****************************************************

如何判断一个二进制是否为负数:

有符号类型  最左边的二进制位叫符号位,0表示非负数,1表示负数

比如:1100 0101 是正数还是负数?

看实际情况,如果表示字符,即负数;如果表示int类型,则为正数。(前24位为0)

将1100 0101转换成负数:

方法一:
1.取反操作     0011 1010
2.+1操作       0011 1011
3.转换正整数    59
4.取反            -59


方法二:
1.-1操作     1100 0100
2.取反操作    0011 1011
3.转换正整数     59
4.取反            -59



把二进制表示方法中所有数位从右向左每三个数位分成一组,每组用一个0-7之间的数字替换
替换后的写法叫做八进制表示方式

可以在程序中直接使用8进制表示,但是必须以0开头!占位付:%o;显示结果不包含开头的0

比如:0110 1010        01 101 010    0152(八进制)




把二进制表示中的数位从右向左每4个数位一组,每组用一个字符替换,替换后的写法叫做十六进制表示方式

可以在程序中直接使用十六进制表示,但是必须以0x开头!占位付:%x / %0X;显示结果不包含0x开头

比如:1100 1011        0xcb(十六进制)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值