【C语言】二进制
来源:互联网 发布:数据挖掘实战 pdf 编辑:程序博客网 时间:2024/05/21 00:18
1、一个字节可以分成八段,每段可以记录一个0或者1
2、要想把一个数字记录到字节里就必须首先把它拆分成八个0或者1
3、采用一组0或者1表示数字的方法叫二进制
4、任何数字既可以用二进制方式表示也可以用十进制方式表示
5、计算机里只能采用二进制方式表示数字
6、二进制表示方式里每个数位有一个编号,最右边数位的编号是0,向左依次递增
7、二进制表示方式中如果某个数位的内容是1则它单独代表的数字就是2的数位编号次方
8、二进制表示方式中如果两个相邻数位的内容一样则左边数位代表的数字是右边数位的两倍
9、以上规则只适用于二进制表示的非负数
10、二进制加一的时候要把从编号为0位置开始的连续多个1都变成0,把最右边的0变成1
11、二进制表示的非负数转换成十进制的时候只需要把每个内容为1的数位单独转换然后把转换结果求和就可以了
0000 0101 = 2的2次方 + 2的0次方 = 4 + 1 = 50010 1000 = 2的5次方 + 2的3次方 = 32 + 8 = 40十进制表示的非负数转换成二进制的方法12 *******0 6 ******0 3 *****1 1 ****1 0 ****转换结果是00001100
12、对原始数字多次做除以2并保留整数部分的操作可以得到一组数字,用其中的每个数字除以2取余可以得到一个数位的内容,把所有数位内容从后向前书写就得到转换结果
91 145 122 011 1 5 1 2 0 1 1 0 0 转换结果是0101 1011
13、负数的十进制和二进制之间不能直接转换,必须借助相反数
14、负数十进制和二进制之间转换分成三歩,首先计算相反数,然后把得到的相反数进行转换,最后再根据转换结果计算相反数
15、把二进制中每个数位的内容变成相反数然后再加一就得到相反数的二进制
-14140000 11101111 0001 + 1 = 1111 0010
16、有符号类型数字的二进制表示方式中最左边的数位可以用来判断数字的符号,这个数位叫符号位。符号位为1说明数字是负数,符号位为0说明数字是非负数。
1100 10110011 0100 + 1 = 0011 010153-53
/* * 二进制练习 * */#include <stdio.h>int main() { int num = 0; printf("请输入一个数字:"); scanf("%d", &num); printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf(" %d\r", num % 2); num = num / 2; printf("%d\n", num % 2); return 0;}
阅读全文
0 0
- C语言视频教程二进制
- 【c语言】二进制翻转
- C语言二进制输出
- 【C语言】二进制
- C语言读取二进制文件大小
- c语言---十进制转二进制
- C语言十进制转二进制
- C语言---------二进制的理解
- C语言读写二进制流
- C语言十进制转二进制
- c语言二进制、八进制、十六进制
- C语言 二进制转任意进制
- C 语言读取二进制文件大小
- C语言二进制方法复制整个文件
- C语言打印二进制的代码
- c语言:十进制转换为二进制
- C语言整数进行二进制显示
- C语言中使用二进制常量
- HihoCoder
- Linux如何查看进程、杀死进程、启动进程等常用命令
- 什么是飓风算法
- XML笔记
- 『TensorFlow』函数查询列表_张量属性调整
- 【C语言】二进制
- JavaScript笔记
- 2017暑假集训 div1 并查集(1)
- eclipse+maven+svn项目检出及运行步骤
- 程序,进程,线程详解
- C++11 标准新特性: 右值引用与转移语义
- 【算法期末作业】课本8.19 kite问题的NP完全问题证明
- 如何合适的清空 input[type=file] 的值
- 过滤器 Filter