C语言,输出补语,如何找到C语言的补语?

发布于 科技 2024-02-22
17个回答
  1. 匿名用户2024-01-25

    在计算机中,没有原始或反向代码。

    输入的值,无论是正值还是负值,都会被编译并存储为补码。

    编写一个 C 程序来显示数值的二进制,如下所示。

  2. 匿名用户2024-01-24

    0000 的二进制 7

    0111,是按位反,结果是 1111

    注意,最高位数是1,表示这是一个负数,负数是计算机中的补码,补码是十进制,补码负号保持不变,其他的都倒过来,最后加1,这就是原码。 即 1000

    1000 是 -8 由公式 n

    结果,它是。 (n+1)

  3. 匿名用户2024-01-23

    正数取自原始代码,负数对应正数,然后逐位加,如19,原码用8位二进制00010011,然后00010011其补码和反码。

    对于-19,因为19的8位原码是00010011的,所以每个位的反11101100,然后加上1,1110110101,这样-19的原始码10010011,反码11101100,补码11101101

  4. 匿名用户2024-01-22

    正的与原始代码相同。

    否定的必须首先将原始代码转换为反向代码(不要告诉我您甚至不能反转代码)。

    将 1 添加到反向代码的基数中,您就可以开始了。

  5. 匿名用户2024-01-21

    正数与素数、逆数和补数相同。

    负数的原码、逆码和补码是不同的。

    让我们以两个字节(16 位)为例(短类型)来理解这一点:

    1) 原始 = 1000 0000 0000 0001 最高位为符号位 1 负,0 正,数据总长度为 16 位

    1) 反 = 1111 1111 1111 1110 除符号位外,原始代码是逐位反转的。

    1) 补码 = 1111 1111 1111 1111 反码 +1

    由此,我们来看一下 -12345 的补码:

    12345) 原件 = 1011 0000 0011 1001

    12345) 反 = 1100 1111 1100 0110

    12345) 补码 = 1100 1111 1100 0111

    我觉得你误会错了,因为你不了解数据按字节的存储,计算机中数据的最小存储单元是字节,一个字节占用8位,一般(32位机器)数据存储空间的大小定义为:

    char 1byte

    short 2bytes

    int 4bytes

    long 4bytes

    float 4bytes

    double 8bytes

    在 C 程序中,可以使用 sizeof 命令来检查某种类型的空间的大小,例如 printf("%d", sizeof(long) ) 可以编写自己的程序来测试您的机器。

  6. 匿名用户2024-01-20

    C 语言,可以使用 int 类型。

    整数是 16 位二进制数,模数为 65536。

    那么,12345 的补码是:65536 12345 | = 53191。

    写成 16 位二进制数,它是:1100 1111 1100 0111。

  7. 匿名用户2024-01-19

    在 C 中,所有整数数据实际上都存储为补码。

    要计算补码,首先要知道原始代码的概念,它是十进制数的二进制表达式,例如,100 的原始代码是 1100100。

    补码的计算原理如下:

    1 对于无符号数和有符号数中的正数,补码为原始代码本身;

    2 对于有符号数中的负数,补码是真值加一的绝对值的倒数,其中反码为原始码,位反转。

    负数示例:

    当 100 用 char(8 位)表示时,可以按照以下过程计算其补码:

    1.原始代码为100 01100100

    2.按位取反转码,得到反转码为10011011

    3.在逆码中加1,即10011011+1=10011100。

    所以 -100 的补码表示是 10011100,即 0x9c(十六进制)。

  8. 匿名用户2024-01-18

    首先,建议房东去补上“原守则”、“反守则”和“补码”的相关知识。

    我将首先分解它(假设您已经知道这一点):

    首先,让我们从无符号的角度来看问题中的数据:

    n = 0x7fff

    m = 0x8000

    可以看出,对于 n,他的二进制模式是:0111 1111 1111 1111

    对于 m,他的二进制模式是:1000 0000 0000 0000

    如您所见,最高符号位 n 为 0,m 为 1

    所以如果我们从有符号数的角度来看 m 和 n 的二进制数据,我们知道 n 符号位(最高位)是零,所以 n 是正数,m 符号位是 1,所以它是一个负数。

    对于补码,正数很容易计算,即他的值,即 0111 1111 1111 1111 = 0x7fff = 32767

    对于负数 m,我们可以这样做以了解它的值:

    假设 m |m|= x,那么我们得到 m 的 x

    m = 1000 0000 0000 0000

    否定:m = 0111 1111 1111 1111

    加 1 m + 1 = 1000 0000 0000 0000

    这个问题中的数据比较特殊,所以你可以看到 m 和 m+1 的结果看起来是一样的,其实你可以列出其他值来计算,一般两种按位模式是不同的)。

    x = 32768

    然后我们可以看到 m = -x = -32768 或更多。

  9. 匿名用户2024-01-17

    在 C 语言中,不需要补语。

    补码是汇编语言中的有符号数字。

    C语言是一种高级语言,可以和人类语言一样写,直接使用加号和减号,不需要使用补语。

  10. 匿名用户2024-01-16

    正补码 = 其二进制。

    例如,5 的补码 = 原始代码:101;

    即 0000,0000,0000,1001

    负补码 = 负数绝对值的二进制,然后倒数 +1;如-5:

  11. 匿名用户2024-01-15

    正数的补码是它原来的码本身,负数的补码是它的绝对值的原码,反转1位

  12. 匿名用户2024-01-14

    正数和 0 的补码总是它自己,负数的补码是它的绝对值按位反转,加上 1。

    0] 补码 = 00000000b

    1] 补码 = 00000001b

    2] 补码 = 00000010b

    3] 补码=00000011b

    0] 补码 = 00000000b

    1] 补码 = 11111111b(注意:-1 的绝对值为 1,数字反转为 11111110b,加 1 得到 -1 的补码:11111111b)。

    2] 补码 = 11111110b

    3] 补码 = 111111101b

  13. 匿名用户2024-01-13

    你可以在任何 C 语言书籍中看到细节,我有多清楚并不重要。

    我会告诉你我的理解。 把所有的数字都想象成时钟上的数字。

    00000000---00000001--00000002.。。一直到 ffffffff

    ffffffffff 为 -1

    我说的是 32 位有符号数字 int 使用这个时钟概念来理解补码,我保证你永远不会忘记它。

    否则,只要记住补码=反码+1反码=原码和ffffffff取差额,这样你迟早要在面试中被蒙蔽。

    希望对你有所帮助。

  14. 匿名用户2024-01-12

    正数是反码,负数是反码+1

  15. 匿名用户2024-01-11

    如果是正数,补码=原始码,如果是负数,x = x + 1 + 0xffffffff,然后找到 x 的原始码。

    scanf("%d", &x);

    x = (x + 1 + 0xffffffff) %0xffffffff;

    todo...然后只需找到 x 的原始代码即可。

    此0xffffffff是 int 可以表示的最大值,如果 int 为 4 个字节,则通常为 4 个字节。

  16. 匿名用户2024-01-10

    这就是问题所问的吗? 或者您是否要求输出十进制数的内存表示?

  17. 匿名用户2024-01-09

    “当您输入它时,计算机将其作为补充,然后输出原始代码”是不正确的。

    计算机以补码的形式存储整数数据。 与补体 1解决了 +0、-0、2 的问题所有操作都可以通过添加剂完成。

    当我们输入数据时,我们都是人们在现实生活中可以理解的数字:例如,十进制数,当计算机存储它们时,它们会自动将它们转换为补码进行存储和计算。 输出时,会根据人的要求自动转换为相应的可识别数据进行展示。

    在超过 32 位的机器上,短路占用两个字节,这是一个有符号的数字,可以表示以下数据范围:-32768 32767。 你输入 65535,然后你超出了它的表示范围,计算机存储了 16 个 1,对于短类型,16 个 1 表示 -1,所以你的输出是 -1

相关回答
3个回答2024-02-22

你这个是16,我可以用8位跟你解释一下(原理是一样的,我打起来更方便)。 >>>More

8个回答2024-02-22

呵呵,这个哥哥和我几个月前的样子很像。 在学习 C 之前,我认为 C 应该能够实现任何事情。 但是在学习之后,我发现我离Windows还很远。 >>>More

14个回答2024-02-22

在 VisualStudio 2013 中编写和调试 C 语言程序的步骤: 1.打开 [文件] - 新建 - 项目以打开“新建项目”窗口。2. 在[模板]、[名称]、[位置]和[解决方案名称]中选择[Visual C++] Win32控制台应用程序,可以根据需要填写。 >>>More

6个回答2024-02-22

y 年 m 月 d 日,是日日吗?

计算:天 = mon[1] +mon[2] +mon[m-1] +d; >>>More

7个回答2024-02-22

C 是一种编程语言。

简单来说,编程就是用编程语言编写程序的过程,以达到一定的目的或借助计算机解决问题,最终得到结果。 >>>More