我希望您更改程序以支持浮点计算和负计算。 谢谢!!

发布于 科技 2024-05-18
13个回答
  1. 匿名用户2024-01-28

    square 未初始化为 0。

    而且查找该区域的算法似乎存在问题。 您找到的只是由所有三个相邻顶点组成的三角形面积之和。

    我认为正确的算法应该首先在多边形中找到一个点,然后把这个点作为顶点,依次与多边形的每一边形成n个三角形,并找到这n个三角形的面积之和。

    另一种算法是始终将多边形的第一个顶点作为三角形的顶点,然后取多边形的第一个顶点、第三个顶点和多边形的第四个顶点,。。n-1,n 个顶点,将多边形总共分为 n-2 个三角形。 这样你的算法就把。

    for(i=0;isquare+=s(a[i],b[i],a[i+1],b[i+1],a[i+2],b[i+2]);

    更改为 for(i=0; isquare+=s(a[0],b[0],a[i+1],b[i+1],a[i+2],b[i+2]);

    就是这样。

  2. 匿名用户2024-01-27

    我帮你更改了以下位置,并用注释标记了它们。

    #include

    #include

    double len(int x1,int y1,int x2,int y2)

    double s(int x1,int y1,int x2,int y2,int x3,int y3)

    int main()

  3. 匿名用户2024-01-26

    由于存在多个重载函数而导致语法错误的函数之一。

    l=sqrt((x1-x2)^2+(y1-y2)^2);

    我使用了 double 类型参数的 sqrt 函数,基于上面的 l 类型为 double 的事实,并将其更改为以下内容。

    l=sqrt((double)((x1-x2)^2+(y1-y2)^2));

    语法很好。

  4. 匿名用户2024-01-25

    1、是有点异或,不是正方形。

    2、你要找的区域很简单,就要用递归,只能找到3-5个边,6个边及以上会漏掉中间的剩余部分。

    3. 建议将点定义为结构。

  5. 匿名用户2024-01-24

    你总是给我发错误的提示吗?

  6. 匿名用户2024-01-23

    留下电子邮件地址并将其发送给您 MFC 版本。

  7. 匿名用户2024-01-22

    这是因为您添加的步长是,如果您添加 yes,您可以正常退出循环。

    为什么步长不好,因为双精度、浮点等浮点数都是二进制浮点数。

    它的值大于值的一小部分,这是准确的,因为 large 和 one 的值是一个整数,它是通过将 2 0 2 1 2 2 的幂相加得到的。

    小于 1 的部分不一定是,它们仍然是由 2 的幂累积的,从 2 -1 2 -2 2 -3,即 1 2、1 4、1 8 这样累积,因此对于一些十进制十进制数,它不能精确地表示,只能近似地表示。

    例如,不能使用负数 2 来表示此数字。

    二的负数是 1 2, 1 4, 1 8

    大约等于 51 256 = 1 256 + 25 128 = 1 256 + 1 128 + 3 16 = 1 256 + 1 128 + 1 16 + 1 8=

    0 1) +0 1 2) +0 (1 4) +1 (1 8) +1 (1 16) +0 (1 32) +0 (1 64) +1 1 128) +1 1 256) = 这是二进制十进制表示形式。

    可以看出,只要小数的值不能降为二负的整数倍(这种情况很多),那么二进制表示的小数就只能近似了。

    既然是近似值,你自然不可能积累出你想要得到的确切值,也无法判断我!= 10 基本上会失败,除非你加一个精确的浮点数,例如,或类似的东西,其中整步数刚好足以匹配你的判断--- 10。

    因此,这种判断一般基于 i < = 10。

  8. 匿名用户2024-01-21

    浮点数之间的精度存在差异,因此它与 10 确实不同。

  9. 匿名用户2024-01-20

    这是一个棘手的问题。 实际上,在实际操作过程或编写程序时,我们要求浮点数有一定的精度,而且大多数情况下,我们会以文件的形式存储到*10n的幂来存储和删除小数位。 让我们进入正题。

    任何数据都以二进制(0 或 1)顺序存储在内存中,每个 1 或 0 称为 1 位,而在 x86 CPU 上,字节为 8 位。 例如,如果一个 16 位(2 字节)短 int 变量的值为 1000,则其二进制表达式为:00000011 11101000。

    由于Intel CPU的架构,它是以相反的字节顺序存储的,所以应该是这样的:11101000 00000011,这是内存中固定数字1000的结构。

    目前,C C++ 编译器标准遵循 IEEE 开发的浮点符号来执行浮点运算和双精度运算。 这种结构是一种科学记数法,由符号、指数和尾数表示,以 2 为基数——即浮点数表示为尾数乘以 2 的指数幂。 具体规格如下:

    符号、姿态、尾数、长度。

    float 1 8 23 32

    double 1 11 52 64

    暂定号码 1 15 64 80

    由于 C 编译器的默认浮点数是 double,因此下面是一个 double 示例:

    共 64 位,相当于 8 个字节。 从最高到最低,他们都是第一名

    最高数字 63 为符号位,1 表示数字为负数,0 表示正数;

    62-52位,共11位为指数位;

    51-0 位,总共 52 位是尾数数字。

    根据 IEEE 浮点表示法,以下会将双精度类型的浮点数转换为十六进制**。

    处理整数部分和小数部分:整数部分直接为十六进制:960e。 小数的处理:

    实际上,它永远不会结束! 这称为浮点精度问题。 因此,在添加第一个整数部分之前,计算 53 位就足够了(隐藏位技术:最高位的 1 不写入内存)。

    如果您有足够的耐心并手动数到 53 位数字,那么原因应该是:

    科学记数法是:将 2 乘以 15 次方。 指数是15!

    那么我们来看一下步码,总共有11位,可以表示范围是-1024 1023。 因为指数可以为负数,为了方便计算,先加1023,其中15+1023=1038。 二进制表示为:

    符号位:正 - 0 ! 求和在一起(不要是尾数二进制文件的最高位之一):

    以反向字节顺序存储的十六进制数为:

    55 55 55 55 cd c1 e2 40

  10. 匿名用户2024-01-19

    浮动数字并不难,但要记住它们真的不容易。

    一般来说,浮点数的表示有几个要点:

    1.归一化(让浮点数表示结果唯一),因为100 10 2=*10 3,所以第一步是统一归一化,确定“顺序”和“尾数”(尾数介于两者之间,即二进制之间)。

    2.“序号”一般用“移码”表示,而“尾数”一般用“原始码补码”表示,“数字字符”用浮点数的正二号表示。

    3.浮点数的形式:“符号位”、“顺序”、“尾数”。

    浮点数的表示是基于不同的标准,表示方法也不同,你原来的问题没有解释清楚用什么格式来表示,所以我就用最常用的格式来理解。

    其实在以上两点上,计算机中的“符号数表示”有四种:原始代码、补码、反向代码、移码,这些都是基本知识,大家可以自己看一下这四种表示,自然会理解“顺序符号、数字符号”的作用,相当于“符号位”。

    下面简单说一下,然后大家可以详细看一下:

    小数点前面可以有“符号位”,对应于原来的“顺序”和“数字”)。

    原码:表示+2-2),表示'前面的1等价于符号位,表示该数字为负数,即“符号位为0”表示正数,1表示负数)。

    补码:最常见的是补码表示,这意味着“0”是正数,1是负数。 以及原始法典的法律)。

    反向代码是最简单的:正数不变,负数可以对每个位“否定”,即相反的数字)。

    以上三种表示法不处理正数,但移码表示法不处理正数。

    移码:,而。

    移码稍微复杂一些,它的表达式是:移码二阶码位数 True value(true value:指原来的“符号数”,注意在计算中加入正号和次号)。

    n= :顺序是“正 100”,尾数是“负”,所以整个浮点数是负数,所以第一个数字是“1”。

    订货号为“10 0100”。

    所以,它应该表示为:1(符号位)100100(订单代码的移码表示)11010100

  11. 匿名用户2024-01-18

    它由四部分组成,尾数编号的符号位、尾数编号的符号位和订单代码的符号位。

    首先存储订单的符号位 - ,然后是订单 1,然后是尾数的符号位 - ,然后是尾数 .

  12. 匿名用户2024-01-17

    这个问题在《计算机作文原理》一书中,建议提问者阅读该书来解决。

  13. 匿名用户2024-01-16

    非常感谢! 通过你的。

    我对细节了解得更多。 只是现在在两个例子中,因为56是正数,所以原来的码和补码是一样的,但是是负数,原来的码和补码是不一样的,我看到答案中的尾数不是补码,而是原码11111001101, 我认为如果补码应该是00000110011或10000110011,那么这一点还没有被理解,如果第一位不是1位隐藏位怎么办?答案是否0x9bcd正确,如果是,尾数是原始代码吗?

    希望能再次给出答案,谢谢!

相关回答
14个回答2024-05-18

你痴迷于我“、”我爱上你的那一天“、”星星“、”因为我想念“、”甚至不确定“、”我不知道“、”好吧,笑“,纯粹的**包括”你准备好战斗了吗“、”怎么办“、”去看你“、”你被我迷住了“、”因为我想念“、”因为我想念“(吉他版)我不知道“、”人生之战“、”好吧,笑“、”对与错“、”悲伤的决定”。 里面的演员们还演唱了《如果我走了》《偶然遇见的她》《算了吧》《幸运》《朝向明天》《别哭》《好笑了》。

13个回答2024-05-18

包含歌词“我想要你的爱”的歌曲是“微笑和乞求”。 >>>More

16个回答2024-05-18

寂寞的河。 王岚飞.

作词:方文山 作曲:周杰伦 >>>More

14个回答2024-05-18

您好,只要您有稳定的工作收入,并且信用信息没有问题,就可以申请银行无抵押贷款业务。 >>>More

18个回答2024-05-18

我侄女最不想让我做的就是强迫她。 其实,在现实中,很多人并不喜欢被别人逼迫。 很多人不想被家人强迫,被父母强迫。 >>>More