小编Lor*_*ica的帖子

C - 浮点数的序列化(浮点数,双精度数)

如何将浮点数转换为字节序列,以便它可以保存在文件中?这种算法必须快速且高度便携.它必须允许相反的操作,反序列化.如果每个值(持久空间)只需要非常微小的多余位,那就太好了.

c floating-point floating-point-conversion

13
推荐指数
1
解决办法
1万
查看次数

如何在C中创建最小有效位设置为1的掩码

有人可以向我解释这个功能吗?

具有最低有效n位的掩码设置为1.

例如:

n = 6 - > 0x2F,n = 17 - > 0x1FFFF //我根本得不到这些,尤其是n = 6 - > 0x2F

还有什么是面具?

c bit-manipulation bitmask

12
推荐指数
3
解决办法
3万
查看次数

元素如果elif函数在python中使用数组

我有一个定义

def myfunc(a, b):
    if a < (b*10):
        result = a*2
    else:
        result = a*(-1)
    return result
Run Code Online (Sandbox Code Playgroud)

现在,当我使用for循环逐个输入my ab值时,这显然是完美的,但它需要永远(我已经简化了定义)我从经验中知道将值作为数组传递将加速它起来.

那么如何修改此代码以接受数组.我已经使用了any()all()命令,但我必须使用它们错误,因为我的函数只吐出一个值而不是一个值数组.

我想要的输出的一个例子是:

>>>a = np.array([1,5,50,500])
>>>b = 1
>>>print myfunc(a, b)
array([-1, -5, 100, 1000])
Run Code Online (Sandbox Code Playgroud)

python arrays if-statement numpy definition

12
推荐指数
1
解决办法
4623
查看次数

随机浮点数

我写了这个函数来获得0 ... 1之间的伪随机浮点数:

float randomFloat()
{
      float r = (float)rand()/(float)RAND_MAX;
      return r;
}
Run Code Online (Sandbox Code Playgroud)

但是,它总是返回0.563585.无论我运行我的控制台应用程序多少次,都是相同的数字.

编辑:

如果需要,这是我的整个申请:

#include <stdio.h>
#include <stdlib.h>

float randomFloat()
{
      float r = (float)rand() / (float)RAND_MAX;
      return r;
}

int main(int argc, char *argv[])
{
  float x[] = {
        0.72, 0.91, 0.46, 0.03, 0.12, 0.96, 0.79, 0.46, 0.66, 0.72, 0.35, -0.16,
        -0.04, -0.11, 0.31, 0.00, -0.43, 0.57, -0.47, -0.72, -0.57, -0.25,
        0.47, -0.12, -0.58, -0.48, -0.79, -0.42, -0.76, -0.77
  };

  float y[] = {
        0.82, -0.69, 0.80, …
Run Code Online (Sandbox Code Playgroud)

c random floating-point floating-point-conversion

11
推荐指数
3
解决办法
3万
查看次数

在C中反转一个字符串

我知道这已被问过几千次,但我在代码中找不到错误.有人可以指出我做错了什么吗?

#include <stdlib.h>
#include <string.h>

void reverseString(char *myString){
  char temp;
  int len = strlen(myString);

  char *left = myString;
  //  char *right = &myString[len-1];                                                                                        
  char *right = myString + strlen(myString) - 1;

  while(left < right){
    temp = *left;
    *left = *right; // this line seems to be causing a segfault                                                              
    *right = temp;
    left++;
    right--;
  }
}

int main(void){
  char *somestring = "hello";
  printf("%s\n", somestring);
  reverseString(somestring);

  printf("%s", somestring);

}
Run Code Online (Sandbox Code Playgroud)

c string undefined-behavior

10
推荐指数
3
解决办法
849
查看次数

限制浮点精度?

有没有办法将浮点数舍入为2分?例如:3576.7675745342556成为3576.76.

c c++ algorithm floating-point floating-point-conversion

10
推荐指数
2
解决办法
4万
查看次数

确定浮子是否有小数部分?

问题在于:游戏总计可以由任意数量的人玩.它从总共100开始,每个玩家轮流在-20到20之间产生整数位移.获胜者是其调整使得总数等于5的玩家.仅使用给出的三个变量:总调整计数器这是我到目前为止所拥有的:

#include <stdio.h>
int main (void)
{
    int counter=0;
    float adj;
    int ttl=100;

    printf("You all know the rules now lets begin!!!\n\n\nWe start with 100. What is\n");

    while (ttl!=5)
    {
        printf("YOUR ADJUSTMENT?");
        scanf("%f",&adj);
        counter++;
        if (adj<=20 && adj>=-20)
        {
        ttl=ttl+adj;
        printf("The total is %d\n",ttl);
        }
        else
        {
        printf ("I'm sorry. Do you not know the rules?\n");
        }
    }
    printf("The game is won in %d steps!",counter);

}
Run Code Online (Sandbox Code Playgroud)

我需要的是:当输入十进制数时,它会转到其他位置.如何确定浮点数是否具有小数部分.

c floating-point floating-point-conversion

10
推荐指数
3
解决办法
1万
查看次数

未指定,未定义和实现定义的行为WIKI for C

虽然在SO上有很多关于这个主题的链接,但我认为有些东西缺失:用简单的语言明确解释未指定行为(UsB),未定义行为(UB)和实现定义行为(IDB )之间的区别)详细但容易解释任何用例和示例.

注意:为了这个WIKI的紧凑性,我提出了UsB的首字母缩略词,但是不要指望在其他地方使用它.

我知道这可能看起来与其他帖子(它更接近的是这个)的重复,但在任何人将此标记为重复之前,请考虑我已经找到的所有材料的问题(我将要制作这个帖子中的社区WIKI):

  • 太多分散的例子.当然,例子并不坏,但有时人们无法找到一个很好地适应他手头问题的例子,因此它们可能会令人困惑(特别是对于新手).

  • 示例通常只是代码,但解释很少.在这些微妙的问题上,特别是(相对)新手,更自上而下的方法可能更好:首先是一个清晰,简单的解释与抽象(但不是法律)的描述,然后是 一些简单的例子,解释为什么他们触发一些行为.

  • 有些帖子经常混合使用C和C++示例.C和C++有时与他们认为的UsB,UB和IDB不一致,所以一个例子可能会误导那些不熟悉这两种语言的人.

  • 当给出UsB,UB和IDB的定义时,通常它是标准的简单引用,有时可能不清楚或难以为新手消化.

  • 有时引用标准是不完整的.许多帖子只引用了对手头问题有用的部分标准,这很好,但缺乏一般性.此外,对标准的引用通常没有任何解释(对初学者不利).

由于我自己不是这个主题的超级专家,我将建立一个社区WIKI,以便任何有兴趣的人都可以贡献并改进答案.

为了不破坏我创建一个结构良好的初学友好的WIKI的目的,我希望海报在编辑WIKI时遵循一些简单的指导原则:

  • 对您的用例进行分类.尝试将您的示例/代码放在已存在的类别下(如果适用),否则创建一个新类别.

  • 首先是简单的单词描述.首先用简单的词语描述(当然,不要过于简单化 - 质量第一!)你想要做的例子或要点.然后放入代码示例或引用.

  • 引用标准参考.不要发布各种标准的片段,但要提供明确的参考资料(例如C99 WG14/N ......第1.4.7节,第......段),在可能的情况下发布相关资源的链接.

  • 喜欢免费的在线资源.如果你想引用书籍或非免费可用的资源(可能会提高WIKI的质量),但尝试添加一些免费资源的链接.这对ISO标准尤为重要.欢迎您添加官方标准的链接,但也尝试添加等效链接以免费提供草稿.请不要将参考链接替换为参考官方标准,添加到它们.甚至某些大学的某些计算机科学系也没有ISO标准的副本,更不用说大多数程序员了!

  • 除非确实需要,否则不要发布代码.仅在仅使用普通英语的解释尴尬或不清楚时才发布代码.尝试将代码示例限制为单行.发布指向其他SO Q&A的链接.

  • 不要发布C++示例.我希望这能成为C的一种常见问题解答(如果有人想为C++启动一个双线程,那将是很棒的).与C++的相关差异是受欢迎的,但仅作为附注.这是在你彻底解释C案例之后,你可以添加一些关于C++的陈述,如果这对C程序员在切换到C++时会有所帮助,但我不希望看到的例子超过20%的C++.通常一个简单的注释,如"(C++在这种情况下表现不同)"加上相关链接就足够了.

因为我对SO很新,所以我希望通过这种方式开始问答我不会破坏任何规则.对不起,如果是这样的话.欢迎mods让我知道它.

c undefined-behavior unspecified-behavior

10
推荐指数
1
解决办法
1821
查看次数

当她只能移动她的眼睛时,我如何与我表弟交流?

如果这与编程无关,我道歉.为了保持非编程部分的简短:我的堂兄刚刚接受了Guillain Barre的重症监护,并且正在恶化.她(可能)会在几个月内恢复体力,但患有极度抑郁和惊恐发作,因为她基本上被困在身体的一个壳体中,而她正在失控.我们可能只有几天与她沟通的传统方法会有用.然而,我的理解是,她很可能会继续控制她的眼部肌肉.

所以问题是:有没有人知道我可以用于消费者硬件的良好凝视跟踪库(我手头有MacBook Pro,我可以把Windows或Linux放在上面,并且可以选择消费者到专业级摄像机)到构建一个非常简单的视觉输入界面?

基本上这样她可以看一个键盘(全屏)并闪烁点击键.或类似的东西.它需要是她已经熟悉的东西(QWERTY),因为她现在处于很大的压力之下.

我真的只是想要一个基本的工作演示,以便我可以说服她的家人,它的工作原理.不幸的是,他们否认她将会有多糟糕,所以我想做好准备.

谢谢你的帮助!

accessibility vision disability

9
推荐指数
2
解决办法
358
查看次数

僵尸进程无法杀死

有没有办法杀死僵尸进程?我试过要求exit杀死进程甚至向进程发送SIGINT信号,但似乎没有什么可以杀死它.我正在为Linux编程.

c linux zombie-process

9
推荐指数
1
解决办法
1万
查看次数