目录:
视频: 计算机考研基础课《计算机组成与结构》 2024
令人高兴的是,你不必编写任何数字设备,编写低级代码,翻转开关或焊接电线。那是因为今天的C编程发生在更高层次上。但是,在机器的深处,这种低级编码还在继续。你只是孤立于所有软件的起源和零的原始汤。
二进制
的简介二进制数字或 位 是1和0。但在小组中,他们召集了大国的力量。数字存储以组的形式使用这些位。
<!二进制分组C变量 | 位 | 取值范围无符号 | 取值范围有符号 | 位 |
---|---|---|---|---|
_Bool | 1 > 0至1 | 0至1 | 字节 | 字符 |
8 | 0至255 | -128至127 | 字 | 短整型 |
16 > 0至65,535 | -32,768至32,767 | 长 | long int | 32 |
0至4,294,967,295 | -2,147, 483,648至2,147,483,647 | <! - 2 - > | 将字节分组成字节,单词等等的好处是使它们更容易处理。处理器可以更好地处理信息块。如何块得到它们的值基于2的幂。表达式 | 十进制值 |
2
1 | 1 > 2 | 1 |
---|---|---|
2 10 | 2 | 2 |
4 100 | 2 | 3 |
8 1000 | 2 | 4 |
16 10000 | 2 | 5 |
32 100000 | 2 | 6 |
64 百万 | 2 > 7 | 128 |
千万
|
您可以看到可以存储在8位或1个字节中的值的范围。这与C语言char变量中的范围相同。实际上,如果您总计第2列,则会得到255,这是一个字节中的位数。实际上,你会发现一个字节有256个可能的值,其中包括全零置换。这也是一个价值。下面显示了2的权力如何映射到二进制存储。就像10位数的小数点增加10的幂数一样,二进制数的位增加2的幂,从右向左读。 | 设置的每个位或具有值1的位表示2的幂:2 |
5 ,2 | 3 | ,2 |
和2 < 0
。当你将这些值乘以十进制数,然后将它们加起来,就得到二进制00101011的十进制表示形式,这就是43.
这一切都很好,但请不要记住它!
不要把二进制转换成十进制值;电脑一直为你做这项工作。事实上,计算机只能看到二进制文件,然后显示十进制数字作为人类眼球的礼貌。但是,当你操纵二进制值时,它有助于了解发生了什么。 将位值更改为1称为 设置位。 将位值更改为0称为 重置位。 如何显示二进制值 为了最好地理解C语言的二进制操作符,有助于看到一个二进制数字的作用。 printf()函数缺少二进制转换字符,而C库不提供二进制输出函数。不,要查看一个二进制数,你必须制定自己的功能。 binbin() 函数提供一个名为binbin()的二进制输出函数。 Binbin()函数在
binbin()
-
函数的第15行中吞下一个int值。它的输出是一个代表二进制数字的int值的字符串。
-
BINBIN()
-
FUNCTION #include char * binbin(int n); int main(){int input; printf(“输入值0到255:”); scanf(“%d”,&input); printf(“%d是二进制%sn”,输入,binbin(输入)); return(0);} char * binbin(int n){static char bin [9]; int x; for(x = 0; x <8; x ++){bin [x] = n&0x80? '1':'0';一般来说,binbin()函数的内容显得相当神秘,没关系。
练习1
:
将 binbin() 函数中的源代码键入到一个新的项目中,编译并运行几次,看看整数是如何显示为二进制数的 如 binbin()
函数,binbin()只显示8位数据,尽管int变量类型通常存储更多的位。 练习 2:
修改Binbin binbin()
函数使它显示int值的16位(从技术上讲,16位是一个简短的int)。要做到这一点,你需要改变这些项:
第9行:改变文本,使65535被指定,而不是255. 第17行:将数组的大小修改为17,以便在输出中加上16个字符加上字符串末尾的(空字符) 第20行:将代码中的直接值8调整为16,以计入所有16个字符 输出。