理论教育 C语言程序设计:整数的原码、反码、补码表示

C语言程序设计:整数的原码、反码、补码表示

时间:2023-10-20 理论教育 版权反馈
【摘要】:例如,当我们用16位来表示一个整数时,有0000 0000 0010 1011=+431000 0000 0010 1011=-43上述表示法,称为整数的原码表示法。111111111111010000000000000010106.完成下表中原码、反码、补码的转换。

C语言程序设计:整数的原码、反码、补码表示

1.字节和位

字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数。

二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用数字1或0表示,是具有相等概率的两种状态中的一种。二进制位的位数可表示一个机器字的字长,一个二进制位包含的信息量称为——比特

2.整数的原码、反码、补码

一般计算机中用16位或32位来表示整数,位数越多,能表示数的范围就越大。

整数有正负之分,为此,我们可以用一个二进位作为符号位,一般是最高位,当符号位为“0”是表示正数,符号位为“1”时表示负数。例如,当我们用16位来表示一个整数时,有

0000 0000 0010 1011=+43

1000 0000 0010 1011=-43

上述表示法,称为整数的原码表示法。

整数也可采用反码表示法,对于负整数来说,符号位作为“1”,但绝对值部分正好与原码相反(即0变为1,1变为0)。因此:

(-43)原=1000 0000 0010 1011  (-43)反=1111 1111 1101 0100

整数在机器内大多用补码表示,对负整数而言,符号位仍为1,但绝对值部分却是反码的最低位加1得到的结果,因此

(-43)补=1111 1111 1101 0101

注意,对正整数而言,其原码、反码、补码均相同。

综合案例引入和本节数据二进制编码知识,二进制代码构成了计算机系统的基础,一切数据的运算处理都离不开“0”和“1”。总结如下:

1.“大道至简”是做人的智慧,做人做事要将一件复杂的事情化为简单,那是需要智慧的。我们要简简单单做人,踏踏实实做事,用智慧化难为简。复杂的事情简单做,简单的事情重复做,重复做的事情用心做,久久为功、坚持下去,这样世界上就没有做不成的事情。(www.daowen.com)

2.与常规思维不同,逆向思维是反过来思考问题,是用绝大多数人没有想到的思维方式去思考问题。运用逆向思维去思考和处理问题,实际上就是以“出奇”去达到“制胜”。

1.十进制数100对应二进制数为(  ),对应十六进制数为(  )。

2.十进制小数为0.96875对应的二进制数为(  ),对应的十六进制数为(  )。

3.八进制的100化为十进制为(  ),十六进制的100化为十进制为(  )。

4.十进制的160.5相当十六进制的(  ),十六进制的10.8相当十进制的(  )。将二进制的0.100111001表示为十六进制为(  ),将十六进制的100.001表示为二进制为(  )。

A.①100.5   ②10.5   ③10.8   ④A0.8

B.①16.8 ②10.5 ③16.5 ④16.4

C.①0.139 ②0.9C1 ③0.9C4 ④0.9C8

D.①28+2-8 ②28+2-9 ③28+2-10 ④28+2-12

5.有两个整数,它们在机内的表示如下,试问这是哪两个整数的补码表示?

1111111111110100    0000000000001010

6.完成下表中原码、反码、补码的转换。

7.中国是一个餐饮文化大国,长期以来在某一地区由于地理环境、气候物产、文化传统以及民族习俗等因素的影响,形成有一定亲缘承袭关系、菜点风味相近,知名度较高,并为部分群众喜爱的地方风味著名流派称作菜系。其中,鲁菜、川菜、粤菜、闽菜、苏菜、浙菜、湘菜、徽菜享称为“八大菜系”。请同学们编写一个C语言程序,输出以下信息。

鲁菜——山东;川菜——川渝;粤菜——广东;闽菜——福建;

苏菜——江苏;浙菜——浙江;湘菜——湖南;徽菜——安徽

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈