【整理】数制
来源:互联网 发布:盐为什么国家控制知乎 编辑:程序博客网 时间:2024/06/08 04:37
计算机中通用的有二进制、八进制、十进制和十六进制二进制:
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。
二进制向十进制转换
二进制表示方式中每个位置有一个编号,最右边位置的编号是0,相左依次递增
某个位置上的1代表的数字是2的位置编号次方
如: 编号 ...3 2 1 0
二进制 ...1 1 1 1 即1111换10进 2^3+2^2+2^1+2^0=15
十进制向二进制的转换:
不断对数字做除以2保留整数部分的操作得到一组数字,其中每个数字在做除以2取余得到每个数位的内容。把所有余数按照从后向前倒序书写就得到转换结果
如 12 转换成二进制: 余数
×××× ×××× 12 0
×××× ×××0 12/2 = 6 0
×××× ××00 12/2/2 = 3 1
×××× ×100 12/2/2/2 = 1 1
×××× 1100 12/2/2/2/2 = 0 0
得 0000 1100
负数十进制转换成二进制
1、得到负数的相反数
2、把第一步的结果转换成二进制
3、把第二步每个数位上的内容变成相反值
4、把第三步的结果加1
eg:
绝对值 二进制 取反 加1
-14 -> 14 -> 00001110 -> 11110001 -> 11110010
-37 -> 37 -> 00100101 -> 11011010 -> 11011011
负数二进制转换十进制
1、计算出相反数的二进制
2、将第一步的结果转换成十进制
3、根据第二步的结果再计算相反数
eg:
取反 加1 转十进制 取反
1100 0101 -> 0011 1010 -> 0011 1011 -> 59 -> -59
八进制
把二进制从右向左每三个数位分成一组,第组用0到7之间的一个数字替代, 这个结果叫做数字的八进制表示方式
eg: 0110 1010 -> 01 101 010 -> 152(八进制)
× 可以在程序直接使用八进制方式表示数字,必须以 0 作为开头
× 采用 %o 作为占位符把数字的八进制表示方式打印在屏幕上
十六进制
把二进制数字从右向左每四个数位分成一组,每组用一字符替换(用a到f这六个字母代表10 到15)
eg: 1100 1011 -> cb(十六进制)
* 在程序中使用十六进制方式表示数字,必须以0x作为开头
* 用%x或%X做占位符反十六进制表示方式打印在屏幕上(打印结果不以0x开头)
0 0
- 【整理】数制
- 数制
- 数制
- 数制转化
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 数制转换
- 计算机数制
- 数制转换
- 数制转换
- 块级元素与行内元素的区别以及相互转化
- 5-2
- 黑马程序员----异常
- C#调用Winrar实现解压缩
- 设计模式之【工厂模式】
- 【整理】数制
- ISP Pipeline的关键模块之Demosaic(二)
- HDU3342---Legal or Not
- ActionBar笔记
- 可扩展的android重打包工具
- leetcode 日经贴,Cpp code -Combination Sum III
- iOS 将字典转成json格式字符串
- Sparta
- 1014. Waiting in Line (30)