c 语言第二天作业

1、什么是原码、反码、补码?

原码:‌原码是最直接的表示方法,‌其中最高位表示符号位(‌0表示正数,‌1表示负数)‌,‌其余位表示数值的绝对值。‌例如,‌+5的原码是00000101,‌-5的原码是10000101。‌原码的优点是表示直观,‌但在进行加法和减法运算时存在问题。‌

反码:‌为了解决原码的加法和减法问题,‌引入了反码表示。‌在反码中,‌正数的反码与其原码相同,‌负数的反码是将其原码的每位取反(‌0变1,‌1变0)‌。‌例如,‌+5的反码是00000101,‌-5的反码是11111010。‌尽管反码解决了加法问题,‌但仍然存在溢出和零的表示问题。‌

补码:‌为了彻底解决加法和表示问题,‌引入了补码表示。‌在补码中,‌正数的补码与其原码相同,‌负数的补码是将其原码的每位取反后再加1。‌例如,‌+5的补码是00000101,‌-5的补码是11111011。‌补码表示的优势在于它允许用相同的方式处理正数和负数,‌以及能够在数字的范围内进行循环运算,‌而无需额外的处理。‌因此,‌在大多数计算机体系结构中,‌补码表示被广泛采用用于带符号整数的表示和运算。‌

2、为什么要有这几个?

原码、‌反码、‌补码的存在是为了解决计算机做减法和引入符号位的问题。‌

原码、‌反码、‌补码是计算机内部表示和处理数值的方法,‌它们的存在主要是为了解决计算机在处理带有符号的数值运算时的特殊需求。‌这些表示方法各有特点,‌但它们共同的目标是为了简化计算机内部电路的设计和运算过程。‌

3、原码、反码、补码之间的转换关系

C语言中三类标识符

一.关键字:

1.auto

2.break

3.case

4.char

5.const

6.continue

7.default

8.do

9.double

10.else

11.enum

12.extern

13.float

14.for

15.goto

16.if

17.int

18.long

19.register

20.return

21.short

22.singned

23.sizeof

24.static

25.struct

26.switch

27.typedef

28.union

29.unsigned

30.void

31.volatile

32.while

二.系统预定义的标识符:如系统提供的库函数名sin printf main及预编译命令define include等;

三.用户标识符:用户定义的标识符,用来给程序中的变量,自定义函数,符号常量,数组 ,结构体,共用体,文件等命名。

相关推荐
lhbweilai13 分钟前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz16 分钟前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
咩咩啃树皮29 分钟前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript
程序员清风37 分钟前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
砚底藏山河42 分钟前
python量化实操:冷热分层存储
java·开发语言·python·金融
十五年专注C++开发1 小时前
pybind11:一个跨C++和Python平台的编程库
开发语言·c++·python·pybind11
艾络迅Acceleronix1 小时前
环境监测终端:STM32+EG800Z AT+ 艾络迅平台实战|多传感器采集联动全流程
c语言·stm32·单片机·嵌入式硬件·物联网·1024程序员节
CodeYp20191 小时前
第11讲:stack 和 queue
开发语言·c++·queue·stack
Zwawa1 小时前
一只按键不只“按下”:短按、长按和连按如何共存
c语言·单片机·嵌入式
咩咩啃树皮1 小时前
JavaScript 异步流程为什么容易失控?从回调到可维护设计
开发语言·javascript·ecmascript