侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【C++基础语法】进制介绍

Allen Best
2023-04-27 / 0 评论 / 1 点赞 / 24 阅读 / 688 字
温馨提示:
本文最后更新于 2023-04-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
k进制

十进制只有0 ~ 9这十个数字,而k进制有0 ~ k-1这k个数字。
k进制是逢k进一。
十进制:逢10进十位;逢100进百位;逢1000进千位
k进制:逢k进第二位;逢k2 进第三位;逢k3进第四位

K进制转十进制
(abcd)K转十进制。其中abcd表示各个位的数字
(abcd)K=a*k^3+b*k^2+c*k^1+d*k^0
练习题:
二进制转十进制:
(10000000000)_2 
(100010)_2 
(1111111111)_2 
十进制转k进制
短除法
789=1100010101(B)
789/2=394 余1 第10位
394/2=197 余0 第9位
197/2=98 余1 第8位
98/2=49 余0 第7位
49/2=24 余1 第6位
24/2=12 余0 第5位
12/2=6 余0 第4位
6/2=3 余0 第3位
3/2=1 余1 第2位
1/2=0 余1 第1位
位运算
C++支持很多位运算,它直接操作变量的二进制位。
例如按位与:5 & 6 = (101) & (110) = (100) = 4
常用的位运算操作:
按位与	a & b		e.g. 5 & 6 = 4
按位或	a | b		e.g. 5 | 6 = 7
按位异或	a ^ b		e.g. 5 ^ 6 = 3
右移		>>			e.g. 5 >> 1 = 2
左移		<<			e.g. 5 << 1 = 10
按位取反	~			

x右移k位相当于:x/2^k
x左移k位相当于:x*2^k
计算机如何表示负数

负数只需要把首位设为符号位,0表示正数,1表示负数。剩下的位照常。

原码。以8 bit为例:
10  = (00001010)
-10 = (10001010)

补码:

补码表示法就是:若a为正数,则
a的补码就是a的原码
-a的补码是a取反 + 1

0

评论区